From e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d Mon Sep 17 00:00:00 2001 From: Piotr Russ Date: Mon, 16 Nov 2020 00:10:28 +0100 Subject: api, login, auth --- node_modules/sift/.babelrc | 3 + node_modules/sift/.coveralls.yml | 1 + node_modules/sift/.travis.yml | 13 + node_modules/sift/MIT-LICENSE.txt | 20 + node_modules/sift/README.md | 417 +++ node_modules/sift/bower.json | 21 + node_modules/sift/changelog.md | 25 + node_modules/sift/coverage/coverage.json | 1 + node_modules/sift/coverage/lcov.info | 446 ++++ node_modules/sift/gulpfile.js | 154 ++ node_modules/sift/index.d.ts | 62 + node_modules/sift/lib/index.js | 568 ++++ node_modules/sift/package.json | 66 + node_modules/sift/sift.min.js | 1 + node_modules/sift/src/index.js | 554 ++++ node_modules/sift/test/basic-test.js | 237 ++ node_modules/sift/test/immutable-test.js | 20 + node_modules/sift/test/objects-test.js | 409 +++ node_modules/sift/test/operations-test.js | 203 ++ node_modules/sift/tsconfig.json | 8 + node_modules/sift/webpack.config.js | 23 + node_modules/sift/yarn.lock | 4016 +++++++++++++++++++++++++++++ 22 files changed, 7268 insertions(+) create mode 100644 node_modules/sift/.babelrc create mode 100644 node_modules/sift/.coveralls.yml create mode 100755 node_modules/sift/.travis.yml create mode 100644 node_modules/sift/MIT-LICENSE.txt create mode 100755 node_modules/sift/README.md create mode 100644 node_modules/sift/bower.json create mode 100644 node_modules/sift/changelog.md create mode 100644 node_modules/sift/coverage/coverage.json create mode 100644 node_modules/sift/coverage/lcov.info create mode 100644 node_modules/sift/gulpfile.js create mode 100644 node_modules/sift/index.d.ts create mode 100644 node_modules/sift/lib/index.js create mode 100644 node_modules/sift/package.json create mode 100644 node_modules/sift/sift.min.js create mode 100644 node_modules/sift/src/index.js create mode 100644 node_modules/sift/test/basic-test.js create mode 100644 node_modules/sift/test/immutable-test.js create mode 100755 node_modules/sift/test/objects-test.js create mode 100644 node_modules/sift/test/operations-test.js create mode 100644 node_modules/sift/tsconfig.json create mode 100644 node_modules/sift/webpack.config.js create mode 100644 node_modules/sift/yarn.lock (limited to 'node_modules/sift') diff --git a/node_modules/sift/.babelrc b/node_modules/sift/.babelrc new file mode 100644 index 0000000..af0f0c3 --- /dev/null +++ b/node_modules/sift/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["es2015"] +} \ No newline at end of file diff --git a/node_modules/sift/.coveralls.yml b/node_modules/sift/.coveralls.yml new file mode 100644 index 0000000..cf5a2d6 --- /dev/null +++ b/node_modules/sift/.coveralls.yml @@ -0,0 +1 @@ +repo_token: dYtQuNe9CVSGoA5LVadgT3lomowKzEgav \ No newline at end of file diff --git a/node_modules/sift/.travis.yml b/node_modules/sift/.travis.yml new file mode 100755 index 0000000..28c8002 --- /dev/null +++ b/node_modules/sift/.travis.yml @@ -0,0 +1,13 @@ +language: node_js +node_js: + - 0.10 + +script: npm run test-coveralls + +notifications: + email: + - craig.j.condon@gmail.com + +branches: + only: + - master diff --git a/node_modules/sift/MIT-LICENSE.txt b/node_modules/sift/MIT-LICENSE.txt new file mode 100644 index 0000000..c080d2e --- /dev/null +++ b/node_modules/sift/MIT-LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2015 Craig Condon + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/sift/README.md b/node_modules/sift/README.md new file mode 100755 index 0000000..b89d828 --- /dev/null +++ b/node_modules/sift/README.md @@ -0,0 +1,417 @@ +## validate objects & filter arrays with mongodb queries +[![Build Status](https://secure.travis-ci.org/crcn/sift.js.png)](https://secure.travis-ci.org/crcn/sift.js) + + + +**For extended documentation, checkout http://docs.mongodb.org/manual/reference/operator/query/** + +## Features: + +- Supported operators: [$in](#in), [$nin](#nin), [$exists](#exists), [$gte](#gte), [$gt](#gt), [$lte](#lte), [$lt](#lt), [$eq](#eq), [$ne](#ne), [$mod](#mod), [$all](#all), [$and](#and), [$or](#or), [$nor](#nor), [$not](#not), [$size](#size), [$type](#type), [$regex](#regex), [$where](#where), [$elemMatch](#elemmatch) +- Regexp searches +- Function filtering +- sub object searching +- dot notation searching +- Supports node.js, and web +- Small (2 kb minified) library +- Custom Expressions +- filtering of immutable datastructures + + + +## Node.js Examples + +```javascript + +import sift from 'sift'; + +//intersecting arrays +var sifted = sift({ $in: ['hello','world'] }, ['hello','sifted','array!']); //['hello'] + +//regexp filter +var sifted = sift(/^j/, ['craig','john','jake']); //['john','jake'] + + +//A *sifter* is returned if the second parameter is omitted +var testQuery = sift({ + + //you can also filter against functions + name: function(value) { + return value.length == 5; + } +}); + +//filtered: [{ name: 'craig' }] +[{ + name: 'craig', +}, +{ + name: 'john' +}, +{ + name: 'jake' +}].filter(testQuery); + + +//you can test *single values* against your custom sifter +testQuery({ name: 'sarah' }); //true +testQuery({ name: 'tim' }); //false\ +``` + +## Browser Examples +```html + + + + + + + + +``` + +## API + +### .sift(filter[, array][, selectorFn]) + +- `filter` - the filter to use against the target array +- `array` - sifts against target array. Without this, a function is returned +- `selectorFn` - selector for the values within the array. + +With an array: + +```javascript +sift({$exists:true}, ['craig',null]); //['craig'] +``` + +Without an array, a sifter is returned: + +```javascript +var siftExists = sift({$exists:true}); + +siftExists('craig'); //true +siftExists(null); //false +['craig',null].filter(siftExists); //['craig'] +``` + +With a selector: + +```javascript +var sifter = sift({$exists:true}, function(user) { + return !!user.name; +}); + + +sifter([ + { + name: "Craig" + }, + { + name: null + } +]) +``` + +With your sifter, you can also **test** values: + +```javascript +siftExists(null); //false +siftExists('craig'); //true +``` + + +## Supported Operators: + +See MongoDB's [advanced queries](http://www.mongodb.org/display/DOCS/Advanced+Queries) for more info. + +### $in + +array value must be *$in* the given query: + +Intersecting two arrays: + +```javascript +//filtered: ['Brazil'] +sift({ $in: ['Costa Rica','Brazil'] }, ['Brazil','Haiti','Peru','Chile']); +``` + +Here's another example. This acts more like the $or operator: + +```javascript +sift({ location: { $in: ['Costa Rica','Brazil'] } }, [ { name: 'Craig', location: 'Brazil' } ]); +``` + +### $nin + +Opposite of $in: + +```javascript +//filtered: ['Haiti','Peru','Chile'] +sift({ $nin: ['Costa Rica','Brazil'] }, ['Brazil','Haiti','Peru','Chile']); +``` + +### $exists + +Checks if whether a value exists: + +```javascript +//filtered: ['Craig','Tim'] +sift({ $exists: true }, ['Craig',null,'Tim']); +``` + +You can also filter out values that don't exist + +```javascript +//filtered: [{ name: 'Craig', city: 'Minneapolis' }] +sift({ city: { $exists: false } }, [ { name: 'Craig', city: 'Minneapolis' }, { name: 'Tim' }]); +``` + +### $gte + +Checks if a number is >= value: + +```javascript +//filtered: [2, 3] +sift({ $gte: 2 }, [0, 1, 2, 3]); +``` + +### $gt + +Checks if a number is > value: + +```javascript +//filtered: [3] +sift({ $gt: 2 }, [0, 1, 2, 3]); +``` + +### $lte + +Checks if a number is <= value. + +```javascript +//filtered: [0, 1, 2] +sift({ $lte: 2 }, [0, 1, 2, 3]); +``` + +### $lt + +Checks if number is < value. + +```javascript +//filtered: [0, 1] +sift({ $lt: 2 }, [0, 1, 2, 3]); +``` + +### $eq + +Checks if `query === value`. Note that **$eq can be omitted**. For **$eq**, and **$ne** + +```javascript +//filtered: [{ state: 'MN' }] +sift({ state: {$eq: 'MN' }}, [{ state: 'MN' }, { state: 'CA' }, { state: 'WI' }]); +``` + +Or: + +```javascript +//filtered: [{ state: 'MN' }] +sift({ state: 'MN' }, [{ state: 'MN' }, { state: 'CA' }, { state: 'WI' }]); +``` + +### $ne + +Checks if `query !== value`. + +```javascript +//filtered: [{ state: 'CA' }, { state: 'WI'}] +sift({ state: {$ne: 'MN' }}, [{ state: 'MN' }, { state: 'CA' }, { state: 'WI' }]); +``` + +### $mod + +Modulus: + +```javascript +//filtered: [300, 600] +sift({ $mod: [3, 0] }, [100, 200, 300, 400, 500, 600]); +``` + +### $all + +values must match **everything** in array: + +```javascript +//filtered: [ { tags: ['books','programming','travel' ]} ] +sift({ tags: {$all: ['books','programming'] }}, [ +{ tags: ['books','programming','travel' ] }, +{ tags: ['travel','cooking'] } ]); +``` + +### $and + +ability to use an array of expressions. All expressions must test true. + +```javascript +//filtered: [ { name: 'Craig', state: 'MN' }] + +sift({ $and: [ { name: 'Craig' }, { state: 'MN' } ] }, [ +{ name: 'Craig', state: 'MN' }, +{ name: 'Tim', state: 'MN' }, +{ name: 'Joe', state: 'CA' } ]); +``` + +### $or + +OR array of expressions. + +```javascript +//filtered: [ { name: 'Craig', state: 'MN' }, { name: 'Tim', state: 'MN' }] +sift({ $or: [ { name: 'Craig' }, { state: 'MN' } ] }, [ +{ name: 'Craig', state: 'MN' }, +{ name: 'Tim', state: 'MN' }, +{ name: 'Joe', state: 'CA' } ]); +``` + +### $nor + +opposite of or: + +```javascript +//filtered: [ { name: 'Tim', state: 'MN' }, { name: 'Joe', state: 'CA' }] +sift({ $nor: [ { name: 'Craig' }, { state: 'MN' } ] }, [ +{ name: 'Craig', state: 'MN' }, +{ name: 'Tim', state: 'MN' }, +{ name: 'Joe', state: 'CA' } ]); +``` + + +### $size + +Matches an array - must match given size: + +```javascript +//filtered: ['food','cooking'] +sift({ tags: { $size: 2 } }, [ { tags: ['food','cooking'] }, { tags: ['traveling'] }]); +``` + +### $type + +Matches a values based on the type + +```javascript +sift({ $type: Date }, [new Date(), 4342, 'hello world']); //returns single date +sift({ $type: String }, [new Date(), 4342, 'hello world']); //returns ['hello world'] +``` + +### $regex + +Matches values based on the given regular expression + +```javascript +sift({ $regex: /^f/i, $nin: ["frank"] }, ["frank", "fred", "sam", "frost"]); // ["fred", "frost"] +sift({ $regex: "^f", $options: "i", $nin: ["frank"] }, ["frank", "fred", "sam", "frost"]); // ["fred", "frost"] +``` + +### $where + +Matches based on some javascript comparison + +```javascript +sift({ $where: "this.name === 'frank'" }, [{name:'frank'},{name:'joe'}]); // ["frank"] +sift({ + $where: function() { + return this.name === "frank" + } +}, [{name:'frank'},{name:'joe'}]); // ["frank"] +``` + +### $elemMatch + +Matches elements of array + +```javascript +var bills = [{ + month: 'july', + casts: [{ + id: 1, + value: 200 + },{ + id: 2, + value: 1000 + }] +}, +{ + month: 'august', + casts: [{ + id: 3, + value: 1000, + }, { + id: 4, + value: 4000 + }] +}]; + +var result = sift({ + casts: {$elemMatch:{ + value: {$gt: 1000} + }} +}, bills); // {month:'august', casts:[{id:3, value: 1000},{id: 4, value: 4000}]} +``` + +### $not + +Not expression: + +```javascript +sift({$not:{$in:['craig','tim']}}, ['craig','tim','jake']); //['jake'] +sift({$not:{$size:5}}, ['craig','tim','jake']); //['tim','jake'] +``` + +## sub object Searching + + +```javascript +var people = [{ + name: 'craig', + address: { + city: 'Minneapolis' + } +}, +{ + name: 'tim', + address: { + city: 'St. Paul' + } +}]; + +var sifted = sift({ address: { city: 'Minneapolis' }}, people); // count = 1 + +//or +var sifted = sift({'address.city': 'minneapolis'}, people);//count = 1 +``` + + +## Get index of first matching element + +Get the index (0-based) of first matching element in target array. Returns `-1` if no match is found. + +```javascript +import {indexOf as siftIndexOf} from 'sift'; +var people = [{ + name: 'craig', + address: { + city: 'Minneapolis' + } +}, +{ + name: 'tim', + address: { + city: 'St. Paul' + } +}]; + +var index = siftIndexOf({ address: { city: 'Minneapolis' }}, people); // index = 0 +``` diff --git a/node_modules/sift/bower.json b/node_modules/sift/bower.json new file mode 100644 index 0000000..ceae6b7 --- /dev/null +++ b/node_modules/sift/bower.json @@ -0,0 +1,21 @@ +{ + "name": "sift", + "version": "3.2.0", + "authors": [ + "Craig Condon " + ], + "description": "mongodb query style array filtering", + "main": "sift.min.js", + "moduleType": [], + "license": "MIT", + "homepage": "https://github.com/crcn/sift.js", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "benchmark", + "webpack.js", + "package.json" + ] +} diff --git a/node_modules/sift/changelog.md b/node_modules/sift/changelog.md new file mode 100644 index 0000000..ff230e8 --- /dev/null +++ b/node_modules/sift/changelog.md @@ -0,0 +1,25 @@ +### 7.0.0 + +- Remove global `*.use()` function. +- converted to ES6 + +### 3.3.x + +- `$in` now uses `toString()` when evaluating objects. Fixes #116. + +#### 2.x + +- `use()` now uses a different format: + +```javascript +sift.use({ + $operator: function(a) { + return function(b) { + // compare here + }; + } +}) +``` + +- all operators are traversable now +- fix #58. diff --git a/node_modules/sift/coverage/coverage.json b/node_modules/sift/coverage/coverage.json new file mode 100644 index 0000000..ee223e5 --- /dev/null +++ b/node_modules/sift/coverage/coverage.json @@ -0,0 +1 @@ +{"/Users/crcn/Developer/public/sift.js/sift.js":{"path":"/Users/crcn/Developer/public/sift.js/sift.js","s":{"1":1,"2":1,"3":1480,"4":1,"5":3068,"6":1,"7":1895,"8":36,"9":1859,"10":45,"11":1814,"12":27,"13":1787,"14":1,"15":1341,"16":1,"17":7,"18":509,"19":474,"20":35,"21":59,"22":23,"23":12,"24":1,"25":1,"26":57,"27":53,"28":4,"29":6,"30":2,"31":2,"32":1,"33":1076,"34":1,"35":399,"36":59,"37":34,"38":15,"39":24,"40":10,"41":10,"42":99,"43":10,"44":11,"45":8,"46":89,"47":89,"48":8,"49":12,"50":1,"51":88,"52":22,"53":24,"54":1,"55":87,"56":169,"57":169,"58":169,"59":34,"60":53,"61":2,"62":22,"63":15,"64":13,"65":18,"66":7,"67":32,"68":64,"69":21,"70":11,"71":10,"72":58,"73":98,"74":27,"75":31,"76":41,"77":6,"78":11,"79":6,"80":5,"81":25,"82":1,"83":236,"84":19,"85":41,"86":217,"87":1,"88":216,"89":1,"90":3,"91":215,"92":4,"93":5,"94":211,"95":406,"96":18,"97":10,"98":6,"99":4,"100":2,"101":4,"102":21,"103":3,"104":5,"105":8,"106":1,"107":8,"108":15,"109":15,"110":5,"111":3,"112":1,"113":378,"114":1,"115":215,"116":215,"117":215,"118":179,"119":179,"120":36,"121":36,"122":36,"123":114,"124":114,"125":114,"126":8,"127":106,"128":36,"129":1,"130":706,"131":293,"132":293,"133":413,"134":413,"135":41,"136":119,"137":372,"138":1,"139":92,"140":1,"141":413,"142":1,"143":443,"144":443,"145":215,"146":443,"147":443,"148":458,"149":458,"150":2,"151":456,"152":363,"153":294,"154":363,"155":93,"156":1,"157":92,"158":442,"159":1,"160":306,"161":305,"162":3,"163":4,"164":305,"165":1,"166":135,"167":1,"168":1,"169":135,"170":1,"171":413,"172":134,"173":33,"174":101,"175":1,"176":4,"177":1,"178":3,"179":3,"180":3,"181":1,"182":2,"183":1,"184":489,"185":126,"186":363,"187":284,"188":151,"189":133,"190":133,"191":1,"192":1,"193":1,"194":1,"195":1,"196":0},"b":{"1":[36,1859],"2":[45,1814],"3":[27,1787],"4":[1814,1628],"5":[12,1329],"6":[474,35],"7":[509,36],"8":[23,36],"9":[53,4],"10":[57,4],"11":[2,4],"12":[10,89],"13":[8,3],"14":[8,81],"15":[89,85],"16":[1,11],"17":[12,7],"18":[22,66],"19":[1,23],"20":[34,135],"21":[169,37,36],"22":[12,1],"23":[12,11],"24":[6,1],"25":[21,43],"26":[27,71],"27":[41,30],"28":[6,5],"29":[19,217],"30":[41,25],"31":[1,216],"32":[1,215],"33":[216,1],"34":[3,1],"35":[4,211],"36":[2,1],"37":[5,10],"38":[179,36],"39":[36,36,36],"40":[8,106],"41":[293,413],"42":[706,414],"43":[41,372],"44":[413,45],"45":[413,413],"46":[215,228],"47":[443,413],"48":[2,456],"49":[363,93],"50":[294,69],"51":[1,92],"52":[427,15],"53":[3,302],"54":[1,134],"55":[33,101],"56":[1,3],"57":[3,0],"58":[126,363],"59":[284,79],"60":[151,133],"61":[133,0],"62":[1,0],"63":[1,1],"64":[0,1]},"f":{"1":1,"2":1480,"3":3068,"4":1895,"5":1341,"6":7,"7":509,"8":1,"9":57,"10":1076,"11":399,"12":59,"13":34,"14":15,"15":24,"16":10,"17":10,"18":99,"19":22,"20":15,"21":13,"22":18,"23":7,"24":32,"25":10,"26":58,"27":41,"28":6,"29":11,"30":25,"31":236,"32":41,"33":3,"34":5,"35":406,"36":18,"37":10,"38":6,"39":4,"40":2,"41":4,"42":21,"43":3,"44":5,"45":8,"46":8,"47":378,"48":215,"49":706,"50":92,"51":413,"52":443,"53":306,"54":4,"55":135,"56":413,"57":4,"58":2,"59":489},"fnMap":{"1":{"name":"(anonymous_1)","line":10,"loc":{"start":{"line":10,"column":1},"end":{"line":10,"column":12}}},"2":{"name":"isFunction","line":17,"loc":{"start":{"line":17,"column":2},"end":{"line":17,"column":29}}},"3":{"name":"isArray","line":24,"loc":{"start":{"line":24,"column":2},"end":{"line":24,"column":26}}},"4":{"name":"comparable","line":31,"loc":{"start":{"line":31,"column":2},"end":{"line":31,"column":29}}},"5":{"name":"get","line":43,"loc":{"start":{"line":43,"column":2},"end":{"line":43,"column":25}}},"6":{"name":"or","line":50,"loc":{"start":{"line":50,"column":2},"end":{"line":50,"column":25}}},"7":{"name":"(anonymous_7)","line":51,"loc":{"start":{"line":51,"column":11},"end":{"line":51,"column":26}}},"8":{"name":"and","line":65,"loc":{"start":{"line":65,"column":2},"end":{"line":65,"column":26}}},"9":{"name":"(anonymous_9)","line":66,"loc":{"start":{"line":66,"column":11},"end":{"line":66,"column":26}}},"10":{"name":"validate","line":77,"loc":{"start":{"line":77,"column":2},"end":{"line":77,"column":40}}},"11":{"name":"(anonymous_11)","line":86,"loc":{"start":{"line":86,"column":12},"end":{"line":86,"column":27}}},"12":{"name":"(anonymous_12)","line":93,"loc":{"start":{"line":93,"column":13},"end":{"line":93,"column":28}}},"13":{"name":"(anonymous_13)","line":100,"loc":{"start":{"line":100,"column":12},"end":{"line":100,"column":27}}},"14":{"name":"(anonymous_14)","line":107,"loc":{"start":{"line":107,"column":13},"end":{"line":107,"column":28}}},"15":{"name":"(anonymous_15)","line":114,"loc":{"start":{"line":114,"column":12},"end":{"line":114,"column":27}}},"16":{"name":"(anonymous_16)","line":121,"loc":{"start":{"line":121,"column":13},"end":{"line":121,"column":28}}},"17":{"name":"(anonymous_17)","line":128,"loc":{"start":{"line":128,"column":13},"end":{"line":128,"column":28}}},"18":{"name":"(anonymous_18)","line":135,"loc":{"start":{"line":135,"column":9},"end":{"line":135,"column":24}}},"19":{"name":"(anonymous_19)","line":185,"loc":{"start":{"line":185,"column":10},"end":{"line":185,"column":31}}},"20":{"name":"(anonymous_20)","line":192,"loc":{"start":{"line":192,"column":10},"end":{"line":192,"column":31}}},"21":{"name":"(anonymous_21)","line":199,"loc":{"start":{"line":199,"column":11},"end":{"line":199,"column":26}}},"22":{"name":"(anonymous_22)","line":206,"loc":{"start":{"line":206,"column":10},"end":{"line":206,"column":31}}},"23":{"name":"(anonymous_23)","line":213,"loc":{"start":{"line":213,"column":11},"end":{"line":213,"column":26}}},"24":{"name":"(anonymous_24)","line":220,"loc":{"start":{"line":220,"column":9},"end":{"line":220,"column":30}}},"25":{"name":"(anonymous_25)","line":228,"loc":{"start":{"line":228,"column":10},"end":{"line":228,"column":31}}},"26":{"name":"(anonymous_26)","line":235,"loc":{"start":{"line":235,"column":10},"end":{"line":235,"column":31}}},"27":{"name":"(anonymous_27)","line":247,"loc":{"start":{"line":247,"column":15},"end":{"line":247,"column":30}}},"28":{"name":"(anonymous_28)","line":254,"loc":{"start":{"line":254,"column":12},"end":{"line":254,"column":33}}},"29":{"name":"(anonymous_29)","line":261,"loc":{"start":{"line":261,"column":16},"end":{"line":261,"column":37}}},"30":{"name":"(anonymous_30)","line":271,"loc":{"start":{"line":271,"column":13},"end":{"line":271,"column":34}}},"31":{"name":"(anonymous_31)","line":284,"loc":{"start":{"line":284,"column":9},"end":{"line":284,"column":21}}},"32":{"name":"(anonymous_32)","line":287,"loc":{"start":{"line":287,"column":15},"end":{"line":287,"column":27}}},"33":{"name":"(anonymous_33)","line":294,"loc":{"start":{"line":294,"column":15},"end":{"line":294,"column":27}}},"34":{"name":"(anonymous_34)","line":298,"loc":{"start":{"line":298,"column":15},"end":{"line":298,"column":26}}},"35":{"name":"(anonymous_35)","line":304,"loc":{"start":{"line":304,"column":13},"end":{"line":304,"column":25}}},"36":{"name":"(anonymous_36)","line":312,"loc":{"start":{"line":312,"column":9},"end":{"line":312,"column":21}}},"37":{"name":"(anonymous_37)","line":319,"loc":{"start":{"line":319,"column":10},"end":{"line":319,"column":22}}},"38":{"name":"(anonymous_38)","line":326,"loc":{"start":{"line":326,"column":10},"end":{"line":326,"column":22}}},"39":{"name":"(anonymous_39)","line":333,"loc":{"start":{"line":333,"column":9},"end":{"line":333,"column":21}}},"40":{"name":"(anonymous_40)","line":340,"loc":{"start":{"line":340,"column":10},"end":{"line":340,"column":22}}},"41":{"name":"(anonymous_41)","line":347,"loc":{"start":{"line":347,"column":10},"end":{"line":347,"column":22}}},"42":{"name":"(anonymous_42)","line":354,"loc":{"start":{"line":354,"column":12},"end":{"line":354,"column":31}}},"43":{"name":"(anonymous_43)","line":361,"loc":{"start":{"line":361,"column":12},"end":{"line":361,"column":24}}},"44":{"name":"(anonymous_44)","line":368,"loc":{"start":{"line":368,"column":16},"end":{"line":368,"column":28}}},"45":{"name":"(anonymous_45)","line":375,"loc":{"start":{"line":375,"column":13},"end":{"line":375,"column":25}}},"46":{"name":"search","line":383,"loc":{"start":{"line":383,"column":2},"end":{"line":383,"column":36}}},"47":{"name":"createValidator","line":398,"loc":{"start":{"line":398,"column":2},"end":{"line":398,"column":40}}},"48":{"name":"nestedValidator","line":405,"loc":{"start":{"line":405,"column":2},"end":{"line":405,"column":33}}},"49":{"name":"findValues","line":432,"loc":{"start":{"line":432,"column":2},"end":{"line":432,"column":63}}},"50":{"name":"createNestedValidator","line":457,"loc":{"start":{"line":457,"column":2},"end":{"line":457,"column":48}}},"51":{"name":"isVanillaObject","line":465,"loc":{"start":{"line":465,"column":2},"end":{"line":465,"column":34}}},"52":{"name":"parse","line":469,"loc":{"start":{"line":469,"column":2},"end":{"line":469,"column":24}}},"53":{"name":"createRootValidator","line":503,"loc":{"start":{"line":503,"column":2},"end":{"line":503,"column":46}}},"54":{"name":"(anonymous_54)","line":508,"loc":{"start":{"line":508,"column":11},"end":{"line":508,"column":32}}},"55":{"name":"sift","line":519,"loc":{"start":{"line":519,"column":2},"end":{"line":519,"column":38}}},"56":{"name":"filter","line":528,"loc":{"start":{"line":528,"column":4},"end":{"line":528,"column":29}}},"57":{"name":"(anonymous_57)","line":542,"loc":{"start":{"line":542,"column":13},"end":{"line":542,"column":30}}},"58":{"name":"(anonymous_58)","line":555,"loc":{"start":{"line":555,"column":17},"end":{"line":555,"column":48}}},"59":{"name":"(anonymous_59)","line":562,"loc":{"start":{"line":562,"column":17},"end":{"line":562,"column":32}}}},"statementMap":{"1":{"start":{"line":10,"column":0},"end":{"line":588,"column":5}},"2":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"3":{"start":{"line":18,"column":4},"end":{"line":18,"column":39}},"4":{"start":{"line":24,"column":2},"end":{"line":26,"column":3}},"5":{"start":{"line":25,"column":4},"end":{"line":25,"column":70}},"6":{"start":{"line":31,"column":2},"end":{"line":41,"column":3}},"7":{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},"8":{"start":{"line":33,"column":6},"end":{"line":33,"column":29}},"9":{"start":{"line":34,"column":11},"end":{"line":40,"column":5}},"10":{"start":{"line":35,"column":6},"end":{"line":35,"column":35}},"11":{"start":{"line":36,"column":11},"end":{"line":40,"column":5}},"12":{"start":{"line":37,"column":6},"end":{"line":37,"column":28}},"13":{"start":{"line":39,"column":6},"end":{"line":39,"column":19}},"14":{"start":{"line":43,"column":2},"end":{"line":45,"column":3}},"15":{"start":{"line":44,"column":4},"end":{"line":44,"column":57}},"16":{"start":{"line":50,"column":2},"end":{"line":60,"column":3}},"17":{"start":{"line":51,"column":4},"end":{"line":59,"column":5}},"18":{"start":{"line":52,"column":6},"end":{"line":54,"column":7}},"19":{"start":{"line":53,"column":8},"end":{"line":53,"column":31}},"20":{"start":{"line":55,"column":6},"end":{"line":57,"column":7}},"21":{"start":{"line":56,"column":8},"end":{"line":56,"column":48}},"22":{"start":{"line":56,"column":36},"end":{"line":56,"column":48}},"23":{"start":{"line":58,"column":6},"end":{"line":58,"column":19}},"24":{"start":{"line":65,"column":2},"end":{"line":75,"column":3}},"25":{"start":{"line":66,"column":4},"end":{"line":74,"column":6}},"26":{"start":{"line":67,"column":6},"end":{"line":69,"column":7}},"27":{"start":{"line":68,"column":8},"end":{"line":68,"column":31}},"28":{"start":{"line":70,"column":6},"end":{"line":72,"column":7}},"29":{"start":{"line":71,"column":8},"end":{"line":71,"column":51}},"30":{"start":{"line":71,"column":38},"end":{"line":71,"column":51}},"31":{"start":{"line":73,"column":6},"end":{"line":73,"column":18}},"32":{"start":{"line":77,"column":2},"end":{"line":79,"column":3}},"33":{"start":{"line":78,"column":4},"end":{"line":78,"column":45}},"34":{"start":{"line":81,"column":2},"end":{"line":274,"column":4}},"35":{"start":{"line":87,"column":6},"end":{"line":87,"column":18}},"36":{"start":{"line":94,"column":6},"end":{"line":94,"column":19}},"37":{"start":{"line":101,"column":6},"end":{"line":101,"column":48}},"38":{"start":{"line":108,"column":6},"end":{"line":108,"column":49}},"39":{"start":{"line":115,"column":6},"end":{"line":115,"column":48}},"40":{"start":{"line":122,"column":6},"end":{"line":122,"column":49}},"41":{"start":{"line":129,"column":6},"end":{"line":129,"column":30}},"42":{"start":{"line":137,"column":6},"end":{"line":177,"column":7}},"43":{"start":{"line":138,"column":8},"end":{"line":142,"column":9}},"44":{"start":{"line":139,"column":10},"end":{"line":141,"column":11}},"45":{"start":{"line":140,"column":12},"end":{"line":140,"column":24}},"46":{"start":{"line":144,"column":8},"end":{"line":144,"column":40}},"47":{"start":{"line":145,"column":8},"end":{"line":151,"column":9}},"48":{"start":{"line":146,"column":10},"end":{"line":150,"column":11}},"49":{"start":{"line":147,"column":12},"end":{"line":149,"column":13}},"50":{"start":{"line":148,"column":14},"end":{"line":148,"column":26}},"51":{"start":{"line":157,"column":8},"end":{"line":163,"column":9}},"52":{"start":{"line":158,"column":10},"end":{"line":162,"column":11}},"53":{"start":{"line":159,"column":12},"end":{"line":161,"column":13}},"54":{"start":{"line":160,"column":14},"end":{"line":160,"column":26}},"55":{"start":{"line":168,"column":8},"end":{"line":174,"column":9}},"56":{"start":{"line":169,"column":10},"end":{"line":169,"column":68}},"57":{"start":{"line":170,"column":10},"end":{"line":170,"column":52}},"58":{"start":{"line":171,"column":10},"end":{"line":173,"column":11}},"59":{"start":{"line":172,"column":12},"end":{"line":172,"column":24}},"60":{"start":{"line":176,"column":8},"end":{"line":176,"column":41}},"61":{"start":{"line":179,"column":6},"end":{"line":179,"column":19}},"62":{"start":{"line":186,"column":6},"end":{"line":186,"column":40}},"63":{"start":{"line":193,"column":6},"end":{"line":193,"column":35}},"64":{"start":{"line":200,"column":6},"end":{"line":200,"column":72}},"65":{"start":{"line":207,"column":6},"end":{"line":207,"column":40}},"66":{"start":{"line":214,"column":6},"end":{"line":214,"column":40}},"67":{"start":{"line":221,"column":6},"end":{"line":221,"column":94}},"68":{"start":{"line":221,"column":48},"end":{"line":221,"column":94}},"69":{"start":{"line":221,"column":82},"end":{"line":221,"column":94}},"70":{"start":{"line":222,"column":6},"end":{"line":222,"column":19}},"71":{"start":{"line":229,"column":6},"end":{"line":229,"column":40}},"72":{"start":{"line":236,"column":6},"end":{"line":240,"column":7}},"73":{"start":{"line":237,"column":8},"end":{"line":239,"column":9}},"74":{"start":{"line":238,"column":10},"end":{"line":238,"column":23}},"75":{"start":{"line":241,"column":6},"end":{"line":241,"column":18}},"76":{"start":{"line":248,"column":6},"end":{"line":248,"column":48}},"77":{"start":{"line":255,"column":6},"end":{"line":255,"column":32}},"78":{"start":{"line":262,"column":6},"end":{"line":264,"column":7}},"79":{"start":{"line":263,"column":8},"end":{"line":263,"column":31}},"80":{"start":{"line":265,"column":6},"end":{"line":265,"column":34}},"81":{"start":{"line":272,"column":6},"end":{"line":272,"column":39}},"82":{"start":{"line":279,"column":2},"end":{"line":378,"column":4}},"83":{"start":{"line":286,"column":6},"end":{"line":302,"column":7}},"84":{"start":{"line":287,"column":8},"end":{"line":289,"column":10}},"85":{"start":{"line":288,"column":10},"end":{"line":288,"column":52}},"86":{"start":{"line":290,"column":13},"end":{"line":302,"column":7}},"87":{"start":{"line":291,"column":8},"end":{"line":291,"column":17}},"88":{"start":{"line":292,"column":13},"end":{"line":302,"column":7}},"89":{"start":{"line":294,"column":8},"end":{"line":296,"column":10}},"90":{"start":{"line":295,"column":10},"end":{"line":295,"column":43}},"91":{"start":{"line":297,"column":13},"end":{"line":302,"column":7}},"92":{"start":{"line":298,"column":8},"end":{"line":301,"column":9}},"93":{"start":{"line":300,"column":10},"end":{"line":300,"column":27}},"94":{"start":{"line":304,"column":6},"end":{"line":306,"column":8}},"95":{"start":{"line":305,"column":8},"end":{"line":305,"column":64}},"96":{"start":{"line":313,"column":6},"end":{"line":313,"column":28}},"97":{"start":{"line":320,"column":6},"end":{"line":320,"column":26}},"98":{"start":{"line":327,"column":6},"end":{"line":327,"column":29}},"99":{"start":{"line":334,"column":6},"end":{"line":334,"column":26}},"100":{"start":{"line":341,"column":6},"end":{"line":341,"column":26}},"101":{"start":{"line":348,"column":6},"end":{"line":348,"column":22}},"102":{"start":{"line":355,"column":6},"end":{"line":355,"column":43}},"103":{"start":{"line":362,"column":6},"end":{"line":362,"column":76}},"104":{"start":{"line":369,"column":6},"end":{"line":369,"column":22}},"105":{"start":{"line":376,"column":6},"end":{"line":376,"column":17}},"106":{"start":{"line":383,"column":2},"end":{"line":393,"column":3}},"107":{"start":{"line":385,"column":4},"end":{"line":390,"column":5}},"108":{"start":{"line":386,"column":6},"end":{"line":386,"column":33}},"109":{"start":{"line":387,"column":6},"end":{"line":389,"column":7}},"110":{"start":{"line":388,"column":8},"end":{"line":388,"column":17}},"111":{"start":{"line":392,"column":4},"end":{"line":392,"column":14}},"112":{"start":{"line":398,"column":2},"end":{"line":400,"column":3}},"113":{"start":{"line":399,"column":4},"end":{"line":399,"column":33}},"114":{"start":{"line":405,"column":2},"end":{"line":427,"column":3}},"115":{"start":{"line":406,"column":4},"end":{"line":406,"column":21}},"116":{"start":{"line":407,"column":4},"end":{"line":407,"column":37}},"117":{"start":{"line":409,"column":4},"end":{"line":412,"column":5}},"118":{"start":{"line":410,"column":6},"end":{"line":410,"column":28}},"119":{"start":{"line":411,"column":6},"end":{"line":411,"column":58}},"120":{"start":{"line":415,"column":4},"end":{"line":415,"column":63}},"121":{"start":{"line":416,"column":4},"end":{"line":416,"column":29}},"122":{"start":{"line":417,"column":4},"end":{"line":425,"column":5}},"123":{"start":{"line":418,"column":6},"end":{"line":418,"column":29}},"124":{"start":{"line":419,"column":6},"end":{"line":419,"column":68}},"125":{"start":{"line":420,"column":6},"end":{"line":424,"column":7}},"126":{"start":{"line":421,"column":8},"end":{"line":421,"column":28}},"127":{"start":{"line":423,"column":8},"end":{"line":423,"column":28}},"128":{"start":{"line":426,"column":4},"end":{"line":426,"column":20}},"129":{"start":{"line":432,"column":2},"end":{"line":452,"column":3}},"130":{"start":{"line":434,"column":4},"end":{"line":438,"column":5}},"131":{"start":{"line":436,"column":6},"end":{"line":436,"column":57}},"132":{"start":{"line":437,"column":6},"end":{"line":437,"column":13}},"133":{"start":{"line":440,"column":4},"end":{"line":440,"column":32}},"134":{"start":{"line":445,"column":4},"end":{"line":451,"column":5}},"135":{"start":{"line":446,"column":6},"end":{"line":448,"column":7}},"136":{"start":{"line":447,"column":8},"end":{"line":447,"column":69}},"137":{"start":{"line":450,"column":6},"end":{"line":450,"column":71}},"138":{"start":{"line":457,"column":2},"end":{"line":459,"column":3}},"139":{"start":{"line":458,"column":4},"end":{"line":458,"column":66}},"140":{"start":{"line":465,"column":2},"end":{"line":467,"column":3}},"141":{"start":{"line":466,"column":4},"end":{"line":466,"column":49}},"142":{"start":{"line":469,"column":2},"end":{"line":498,"column":3}},"143":{"start":{"line":470,"column":4},"end":{"line":470,"column":30}},"144":{"start":{"line":472,"column":4},"end":{"line":474,"column":5}},"145":{"start":{"line":473,"column":6},"end":{"line":473,"column":29}},"146":{"start":{"line":476,"column":4},"end":{"line":476,"column":24}},"147":{"start":{"line":478,"column":4},"end":{"line":495,"column":5}},"148":{"start":{"line":479,"column":6},"end":{"line":479,"column":25}},"149":{"start":{"line":481,"column":6},"end":{"line":483,"column":7}},"150":{"start":{"line":482,"column":8},"end":{"line":482,"column":17}},"151":{"start":{"line":485,"column":6},"end":{"line":494,"column":7}},"152":{"start":{"line":486,"column":8},"end":{"line":486,"column":53}},"153":{"start":{"line":486,"column":26},"end":{"line":486,"column":53}},"154":{"start":{"line":487,"column":8},"end":{"line":487,"column":72}},"155":{"start":{"line":490,"column":8},"end":{"line":492,"column":9}},"156":{"start":{"line":491,"column":10},"end":{"line":491,"column":54}},"157":{"start":{"line":493,"column":8},"end":{"line":493,"column":76}},"158":{"start":{"line":497,"column":4},"end":{"line":497,"column":97}},"159":{"start":{"line":503,"column":2},"end":{"line":514,"column":3}},"160":{"start":{"line":504,"column":4},"end":{"line":504,"column":33}},"161":{"start":{"line":505,"column":4},"end":{"line":512,"column":5}},"162":{"start":{"line":506,"column":6},"end":{"line":511,"column":8}},"163":{"start":{"line":509,"column":10},"end":{"line":509,"column":46}},"164":{"start":{"line":513,"column":4},"end":{"line":513,"column":21}},"165":{"start":{"line":519,"column":2},"end":{"line":537,"column":3}},"166":{"start":{"line":521,"column":4},"end":{"line":524,"column":5}},"167":{"start":{"line":522,"column":6},"end":{"line":522,"column":21}},"168":{"start":{"line":523,"column":6},"end":{"line":523,"column":22}},"169":{"start":{"line":526,"column":4},"end":{"line":526,"column":55}},"170":{"start":{"line":528,"column":4},"end":{"line":530,"column":5}},"171":{"start":{"line":529,"column":6},"end":{"line":529,"column":42}},"172":{"start":{"line":532,"column":4},"end":{"line":534,"column":5}},"173":{"start":{"line":533,"column":6},"end":{"line":533,"column":34}},"174":{"start":{"line":536,"column":4},"end":{"line":536,"column":18}},"175":{"start":{"line":542,"column":2},"end":{"line":550,"column":4}},"176":{"start":{"line":543,"column":4},"end":{"line":543,"column":48}},"177":{"start":{"line":543,"column":28},"end":{"line":543,"column":48}},"178":{"start":{"line":544,"column":4},"end":{"line":549,"column":5}},"179":{"start":{"line":546,"column":6},"end":{"line":548,"column":7}},"180":{"start":{"line":547,"column":8},"end":{"line":547,"column":37}},"181":{"start":{"line":555,"column":2},"end":{"line":557,"column":4}},"182":{"start":{"line":556,"column":4},"end":{"line":556,"column":61}},"183":{"start":{"line":562,"column":2},"end":{"line":572,"column":4}},"184":{"start":{"line":563,"column":4},"end":{"line":563,"column":23}},"185":{"start":{"line":563,"column":14},"end":{"line":563,"column":23}},"186":{"start":{"line":564,"column":4},"end":{"line":571,"column":5}},"187":{"start":{"line":565,"column":6},"end":{"line":567,"column":7}},"188":{"start":{"line":566,"column":8},"end":{"line":566,"column":17}},"189":{"start":{"line":568,"column":6},"end":{"line":570,"column":7}},"190":{"start":{"line":569,"column":8},"end":{"line":569,"column":18}},"191":{"start":{"line":575,"column":2},"end":{"line":582,"column":3},"skip":true},"192":{"start":{"line":576,"column":4},"end":{"line":578,"column":7},"skip":true},"193":{"start":{"line":580,"column":4},"end":{"line":580,"column":26},"skip":true},"194":{"start":{"line":581,"column":4},"end":{"line":581,"column":55},"skip":true},"195":{"start":{"line":585,"column":2},"end":{"line":587,"column":3},"skip":true},"196":{"start":{"line":586,"column":4},"end":{"line":586,"column":23},"skip":true}},"branchMap":{"1":{"line":32,"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":32,"column":4}},{"start":{"line":32,"column":4},"end":{"line":32,"column":4}}]},"2":{"line":34,"type":"if","locations":[{"start":{"line":34,"column":11},"end":{"line":34,"column":11}},{"start":{"line":34,"column":11},"end":{"line":34,"column":11}}]},"3":{"line":36,"type":"if","locations":[{"start":{"line":36,"column":11},"end":{"line":36,"column":11}},{"start":{"line":36,"column":11},"end":{"line":36,"column":11}}]},"4":{"line":36,"type":"binary-expr","locations":[{"start":{"line":36,"column":15},"end":{"line":36,"column":20}},{"start":{"line":36,"column":24},"end":{"line":36,"column":58}}]},"5":{"line":44,"type":"cond-expr","locations":[{"start":{"line":44,"column":33},"end":{"line":44,"column":45}},{"start":{"line":44,"column":48},"end":{"line":44,"column":56}}]},"6":{"line":52,"type":"if","locations":[{"start":{"line":52,"column":6},"end":{"line":52,"column":6}},{"start":{"line":52,"column":6},"end":{"line":52,"column":6}}]},"7":{"line":52,"type":"binary-expr","locations":[{"start":{"line":52,"column":10},"end":{"line":52,"column":21}},{"start":{"line":52,"column":25},"end":{"line":52,"column":34}}]},"8":{"line":56,"type":"if","locations":[{"start":{"line":56,"column":8},"end":{"line":56,"column":8}},{"start":{"line":56,"column":8},"end":{"line":56,"column":8}}]},"9":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":6},"end":{"line":67,"column":6}},{"start":{"line":67,"column":6},"end":{"line":67,"column":6}}]},"10":{"line":67,"type":"binary-expr","locations":[{"start":{"line":67,"column":10},"end":{"line":67,"column":21}},{"start":{"line":67,"column":25},"end":{"line":67,"column":34}}]},"11":{"line":71,"type":"if","locations":[{"start":{"line":71,"column":8},"end":{"line":71,"column":8}},{"start":{"line":71,"column":8},"end":{"line":71,"column":8}}]},"12":{"line":137,"type":"if","locations":[{"start":{"line":137,"column":6},"end":{"line":137,"column":6}},{"start":{"line":137,"column":6},"end":{"line":137,"column":6}}]},"13":{"line":139,"type":"if","locations":[{"start":{"line":139,"column":10},"end":{"line":139,"column":10}},{"start":{"line":139,"column":10},"end":{"line":139,"column":10}}]},"14":{"line":145,"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":145,"column":8}},{"start":{"line":145,"column":8},"end":{"line":145,"column":8}}]},"15":{"line":145,"type":"binary-expr","locations":[{"start":{"line":145,"column":12},"end":{"line":145,"column":29}},{"start":{"line":145,"column":33},"end":{"line":145,"column":54}}]},"16":{"line":147,"type":"if","locations":[{"start":{"line":147,"column":12},"end":{"line":147,"column":12}},{"start":{"line":147,"column":12},"end":{"line":147,"column":12}}]},"17":{"line":147,"type":"binary-expr","locations":[{"start":{"line":147,"column":16},"end":{"line":147,"column":42}},{"start":{"line":147,"column":46},"end":{"line":147,"column":77}}]},"18":{"line":157,"type":"if","locations":[{"start":{"line":157,"column":8},"end":{"line":157,"column":8}},{"start":{"line":157,"column":8},"end":{"line":157,"column":8}}]},"19":{"line":159,"type":"if","locations":[{"start":{"line":159,"column":12},"end":{"line":159,"column":12}},{"start":{"line":159,"column":12},"end":{"line":159,"column":12}}]},"20":{"line":171,"type":"if","locations":[{"start":{"line":171,"column":10},"end":{"line":171,"column":10}},{"start":{"line":171,"column":10},"end":{"line":171,"column":10}}]},"21":{"line":171,"type":"binary-expr","locations":[{"start":{"line":171,"column":15},"end":{"line":171,"column":21}},{"start":{"line":171,"column":27},"end":{"line":171,"column":63}},{"start":{"line":171,"column":69},"end":{"line":171,"column":100}}]},"22":{"line":200,"type":"cond-expr","locations":[{"start":{"line":200,"column":27},"end":{"line":200,"column":63}},{"start":{"line":200,"column":66},"end":{"line":200,"column":71}}]},"23":{"line":200,"type":"binary-expr","locations":[{"start":{"line":200,"column":27},"end":{"line":200,"column":41}},{"start":{"line":200,"column":45},"end":{"line":200,"column":63}}]},"24":{"line":214,"type":"cond-expr","locations":[{"start":{"line":214,"column":17},"end":{"line":214,"column":31}},{"start":{"line":214,"column":34},"end":{"line":214,"column":39}}]},"25":{"line":221,"type":"if","locations":[{"start":{"line":221,"column":48},"end":{"line":221,"column":48}},{"start":{"line":221,"column":48},"end":{"line":221,"column":48}}]},"26":{"line":237,"type":"if","locations":[{"start":{"line":237,"column":8},"end":{"line":237,"column":8}},{"start":{"line":237,"column":8},"end":{"line":237,"column":8}}]},"27":{"line":248,"type":"binary-expr","locations":[{"start":{"line":248,"column":13},"end":{"line":248,"column":34}},{"start":{"line":248,"column":38},"end":{"line":248,"column":47}}]},"28":{"line":262,"type":"if","locations":[{"start":{"line":262,"column":6},"end":{"line":262,"column":6}},{"start":{"line":262,"column":6},"end":{"line":262,"column":6}}]},"29":{"line":286,"type":"if","locations":[{"start":{"line":286,"column":6},"end":{"line":286,"column":6}},{"start":{"line":286,"column":6},"end":{"line":286,"column":6}}]},"30":{"line":288,"type":"binary-expr","locations":[{"start":{"line":288,"column":17},"end":{"line":288,"column":38}},{"start":{"line":288,"column":42},"end":{"line":288,"column":51}}]},"31":{"line":290,"type":"if","locations":[{"start":{"line":290,"column":13},"end":{"line":290,"column":13}},{"start":{"line":290,"column":13},"end":{"line":290,"column":13}}]},"32":{"line":292,"type":"if","locations":[{"start":{"line":292,"column":13},"end":{"line":292,"column":13}},{"start":{"line":292,"column":13},"end":{"line":292,"column":13}}]},"33":{"line":292,"type":"binary-expr","locations":[{"start":{"line":292,"column":17},"end":{"line":292,"column":27}},{"start":{"line":292,"column":31},"end":{"line":292,"column":40}}]},"34":{"line":295,"type":"binary-expr","locations":[{"start":{"line":295,"column":18},"end":{"line":295,"column":28}},{"start":{"line":295,"column":32},"end":{"line":295,"column":41}}]},"35":{"line":297,"type":"if","locations":[{"start":{"line":297,"column":13},"end":{"line":297,"column":13}},{"start":{"line":297,"column":13},"end":{"line":297,"column":13}}]},"36":{"line":362,"type":"cond-expr","locations":[{"start":{"line":362,"column":37},"end":{"line":362,"column":71}},{"start":{"line":362,"column":74},"end":{"line":362,"column":75}}]},"37":{"line":387,"type":"if","locations":[{"start":{"line":387,"column":6},"end":{"line":387,"column":6}},{"start":{"line":387,"column":6},"end":{"line":387,"column":6}}]},"38":{"line":409,"type":"if","locations":[{"start":{"line":409,"column":4},"end":{"line":409,"column":4}},{"start":{"line":409,"column":4},"end":{"line":409,"column":4}}]},"39":{"line":415,"type":"binary-expr","locations":[{"start":{"line":415,"column":20},"end":{"line":415,"column":21}},{"start":{"line":415,"column":25},"end":{"line":415,"column":28}},{"start":{"line":415,"column":32},"end":{"line":415,"column":62}}]},"40":{"line":420,"type":"if","locations":[{"start":{"line":420,"column":6},"end":{"line":420,"column":6}},{"start":{"line":420,"column":6},"end":{"line":420,"column":6}}]},"41":{"line":434,"type":"if","locations":[{"start":{"line":434,"column":4},"end":{"line":434,"column":4}},{"start":{"line":434,"column":4},"end":{"line":434,"column":4}}]},"42":{"line":434,"type":"binary-expr","locations":[{"start":{"line":434,"column":8},"end":{"line":434,"column":32}},{"start":{"line":434,"column":36},"end":{"line":434,"column":53}}]},"43":{"line":445,"type":"if","locations":[{"start":{"line":445,"column":4},"end":{"line":445,"column":4}},{"start":{"line":445,"column":4},"end":{"line":445,"column":4}}]},"44":{"line":445,"type":"binary-expr","locations":[{"start":{"line":445,"column":8},"end":{"line":445,"column":24}},{"start":{"line":445,"column":28},"end":{"line":445,"column":44}}]},"45":{"line":466,"type":"binary-expr","locations":[{"start":{"line":466,"column":11},"end":{"line":466,"column":16}},{"start":{"line":466,"column":20},"end":{"line":466,"column":48}}]},"46":{"line":472,"type":"if","locations":[{"start":{"line":472,"column":4},"end":{"line":472,"column":4}},{"start":{"line":472,"column":4},"end":{"line":472,"column":4}}]},"47":{"line":472,"type":"binary-expr","locations":[{"start":{"line":472,"column":8},"end":{"line":472,"column":14}},{"start":{"line":472,"column":18},"end":{"line":472,"column":41}}]},"48":{"line":481,"type":"if","locations":[{"start":{"line":481,"column":6},"end":{"line":481,"column":6}},{"start":{"line":481,"column":6},"end":{"line":481,"column":6}}]},"49":{"line":485,"type":"if","locations":[{"start":{"line":485,"column":6},"end":{"line":485,"column":6}},{"start":{"line":485,"column":6},"end":{"line":485,"column":6}}]},"50":{"line":486,"type":"if","locations":[{"start":{"line":486,"column":8},"end":{"line":486,"column":8}},{"start":{"line":486,"column":8},"end":{"line":486,"column":8}}]},"51":{"line":490,"type":"if","locations":[{"start":{"line":490,"column":8},"end":{"line":490,"column":8}},{"start":{"line":490,"column":8},"end":{"line":490,"column":8}}]},"52":{"line":497,"type":"cond-expr","locations":[{"start":{"line":497,"column":37},"end":{"line":497,"column":50}},{"start":{"line":497,"column":53},"end":{"line":497,"column":96}}]},"53":{"line":505,"type":"if","locations":[{"start":{"line":505,"column":4},"end":{"line":505,"column":4}},{"start":{"line":505,"column":4},"end":{"line":505,"column":4}}]},"54":{"line":521,"type":"if","locations":[{"start":{"line":521,"column":4},"end":{"line":521,"column":4}},{"start":{"line":521,"column":4},"end":{"line":521,"column":4}}]},"55":{"line":532,"type":"if","locations":[{"start":{"line":532,"column":4},"end":{"line":532,"column":4}},{"start":{"line":532,"column":4},"end":{"line":532,"column":4}}]},"56":{"line":543,"type":"if","locations":[{"start":{"line":543,"column":4},"end":{"line":543,"column":4}},{"start":{"line":543,"column":4},"end":{"line":543,"column":4}}]},"57":{"line":546,"type":"if","locations":[{"start":{"line":546,"column":6},"end":{"line":546,"column":6}},{"start":{"line":546,"column":6},"end":{"line":546,"column":6},"skip":true}]},"58":{"line":563,"type":"if","locations":[{"start":{"line":563,"column":4},"end":{"line":563,"column":4}},{"start":{"line":563,"column":4},"end":{"line":563,"column":4}}]},"59":{"line":564,"type":"if","locations":[{"start":{"line":564,"column":4},"end":{"line":564,"column":4}},{"start":{"line":564,"column":4},"end":{"line":564,"column":4}}]},"60":{"line":565,"type":"if","locations":[{"start":{"line":565,"column":6},"end":{"line":565,"column":6}},{"start":{"line":565,"column":6},"end":{"line":565,"column":6}}]},"61":{"line":568,"type":"if","locations":[{"start":{"line":568,"column":6},"end":{"line":568,"column":6}},{"start":{"line":568,"column":6},"end":{"line":568,"column":6}}]},"62":{"line":575,"type":"if","locations":[{"start":{"line":575,"column":2},"end":{"line":575,"column":2},"skip":true},{"start":{"line":575,"column":2},"end":{"line":575,"column":2},"skip":true}]},"63":{"line":575,"type":"binary-expr","locations":[{"start":{"line":575,"column":6},"end":{"line":575,"column":35},"skip":true},{"start":{"line":575,"column":39},"end":{"line":575,"column":76},"skip":true}]},"64":{"line":585,"type":"if","locations":[{"start":{"line":585,"column":2},"end":{"line":585,"column":2},"skip":true},{"start":{"line":585,"column":2},"end":{"line":585,"column":2},"skip":true}]}}}} \ No newline at end of file diff --git a/node_modules/sift/coverage/lcov.info b/node_modules/sift/coverage/lcov.info new file mode 100644 index 0000000..0401d42 --- /dev/null +++ b/node_modules/sift/coverage/lcov.info @@ -0,0 +1,446 @@ +TN: +SF:/Users/crcn/Developer/public/sift.js/sift.js +FN:10,(anonymous_1) +FN:17,isFunction +FN:24,isArray +FN:31,comparable +FN:43,get +FN:50,or +FN:51,(anonymous_7) +FN:65,and +FN:66,(anonymous_9) +FN:77,validate +FN:86,(anonymous_11) +FN:93,(anonymous_12) +FN:100,(anonymous_13) +FN:107,(anonymous_14) +FN:114,(anonymous_15) +FN:121,(anonymous_16) +FN:128,(anonymous_17) +FN:135,(anonymous_18) +FN:185,(anonymous_19) +FN:192,(anonymous_20) +FN:199,(anonymous_21) +FN:206,(anonymous_22) +FN:213,(anonymous_23) +FN:220,(anonymous_24) +FN:228,(anonymous_25) +FN:235,(anonymous_26) +FN:247,(anonymous_27) +FN:254,(anonymous_28) +FN:261,(anonymous_29) +FN:271,(anonymous_30) +FN:284,(anonymous_31) +FN:287,(anonymous_32) +FN:294,(anonymous_33) +FN:298,(anonymous_34) +FN:304,(anonymous_35) +FN:312,(anonymous_36) +FN:319,(anonymous_37) +FN:326,(anonymous_38) +FN:333,(anonymous_39) +FN:340,(anonymous_40) +FN:347,(anonymous_41) +FN:354,(anonymous_42) +FN:361,(anonymous_43) +FN:368,(anonymous_44) +FN:375,(anonymous_45) +FN:383,search +FN:398,createValidator +FN:405,nestedValidator +FN:432,findValues +FN:457,createNestedValidator +FN:465,isVanillaObject +FN:469,parse +FN:503,createRootValidator +FN:508,(anonymous_54) +FN:519,sift +FN:528,filter +FN:542,(anonymous_57) +FN:555,(anonymous_58) +FN:562,(anonymous_59) +FNF:59 +FNH:59 +FNDA:1,(anonymous_1) +FNDA:1480,isFunction +FNDA:3068,isArray +FNDA:1895,comparable +FNDA:1341,get +FNDA:7,or +FNDA:509,(anonymous_7) +FNDA:1,and +FNDA:57,(anonymous_9) +FNDA:1076,validate +FNDA:399,(anonymous_11) +FNDA:59,(anonymous_12) +FNDA:34,(anonymous_13) +FNDA:15,(anonymous_14) +FNDA:24,(anonymous_15) +FNDA:10,(anonymous_16) +FNDA:10,(anonymous_17) +FNDA:99,(anonymous_18) +FNDA:22,(anonymous_19) +FNDA:15,(anonymous_20) +FNDA:13,(anonymous_21) +FNDA:18,(anonymous_22) +FNDA:7,(anonymous_23) +FNDA:32,(anonymous_24) +FNDA:10,(anonymous_25) +FNDA:58,(anonymous_26) +FNDA:41,(anonymous_27) +FNDA:6,(anonymous_28) +FNDA:11,(anonymous_29) +FNDA:25,(anonymous_30) +FNDA:236,(anonymous_31) +FNDA:41,(anonymous_32) +FNDA:3,(anonymous_33) +FNDA:5,(anonymous_34) +FNDA:406,(anonymous_35) +FNDA:18,(anonymous_36) +FNDA:10,(anonymous_37) +FNDA:6,(anonymous_38) +FNDA:4,(anonymous_39) +FNDA:2,(anonymous_40) +FNDA:4,(anonymous_41) +FNDA:21,(anonymous_42) +FNDA:3,(anonymous_43) +FNDA:5,(anonymous_44) +FNDA:8,(anonymous_45) +FNDA:8,search +FNDA:378,createValidator +FNDA:215,nestedValidator +FNDA:706,findValues +FNDA:92,createNestedValidator +FNDA:413,isVanillaObject +FNDA:443,parse +FNDA:306,createRootValidator +FNDA:4,(anonymous_54) +FNDA:135,sift +FNDA:413,filter +FNDA:4,(anonymous_57) +FNDA:2,(anonymous_58) +FNDA:489,(anonymous_59) +DA:10,1 +DA:17,1 +DA:18,1480 +DA:24,1 +DA:25,3068 +DA:31,1 +DA:32,1895 +DA:33,36 +DA:34,1859 +DA:35,45 +DA:36,1814 +DA:37,27 +DA:39,1787 +DA:43,1 +DA:44,1341 +DA:50,1 +DA:51,7 +DA:52,509 +DA:53,474 +DA:55,35 +DA:56,59 +DA:58,12 +DA:65,1 +DA:66,1 +DA:67,57 +DA:68,53 +DA:70,4 +DA:71,6 +DA:73,2 +DA:77,1 +DA:78,1076 +DA:81,1 +DA:87,399 +DA:94,59 +DA:101,34 +DA:108,15 +DA:115,24 +DA:122,10 +DA:129,10 +DA:137,99 +DA:138,10 +DA:139,11 +DA:140,8 +DA:144,89 +DA:145,89 +DA:146,8 +DA:147,12 +DA:148,1 +DA:157,88 +DA:158,22 +DA:159,24 +DA:160,1 +DA:168,87 +DA:169,169 +DA:170,169 +DA:171,169 +DA:172,34 +DA:176,53 +DA:179,2 +DA:186,22 +DA:193,15 +DA:200,13 +DA:207,18 +DA:214,7 +DA:221,64 +DA:222,11 +DA:229,10 +DA:236,58 +DA:237,98 +DA:238,27 +DA:241,31 +DA:248,41 +DA:255,6 +DA:262,11 +DA:263,6 +DA:265,5 +DA:272,25 +DA:279,1 +DA:286,236 +DA:287,19 +DA:288,41 +DA:290,217 +DA:291,1 +DA:292,216 +DA:294,1 +DA:295,3 +DA:297,215 +DA:298,4 +DA:300,5 +DA:304,211 +DA:305,406 +DA:313,18 +DA:320,10 +DA:327,6 +DA:334,4 +DA:341,2 +DA:348,4 +DA:355,21 +DA:362,3 +DA:369,5 +DA:376,8 +DA:383,1 +DA:385,8 +DA:386,15 +DA:387,15 +DA:388,5 +DA:392,3 +DA:398,1 +DA:399,378 +DA:405,1 +DA:406,215 +DA:407,215 +DA:409,215 +DA:410,179 +DA:411,179 +DA:415,36 +DA:416,36 +DA:417,36 +DA:418,114 +DA:419,114 +DA:420,114 +DA:421,8 +DA:423,106 +DA:426,36 +DA:432,1 +DA:434,706 +DA:436,293 +DA:437,293 +DA:440,413 +DA:445,413 +DA:446,41 +DA:447,119 +DA:450,372 +DA:457,1 +DA:458,92 +DA:465,1 +DA:466,413 +DA:469,1 +DA:470,443 +DA:472,443 +DA:473,215 +DA:476,443 +DA:478,443 +DA:479,458 +DA:481,458 +DA:482,2 +DA:485,456 +DA:486,363 +DA:487,363 +DA:490,93 +DA:491,1 +DA:493,92 +DA:497,442 +DA:503,1 +DA:504,306 +DA:505,305 +DA:506,3 +DA:509,4 +DA:513,305 +DA:519,1 +DA:521,135 +DA:522,1 +DA:523,1 +DA:526,135 +DA:528,1 +DA:529,413 +DA:532,134 +DA:533,33 +DA:536,101 +DA:542,1 +DA:543,4 +DA:544,3 +DA:546,3 +DA:547,3 +DA:555,1 +DA:556,2 +DA:562,1 +DA:563,489 +DA:564,363 +DA:565,284 +DA:566,151 +DA:568,133 +DA:569,133 +DA:575,1 +DA:576,1 +DA:580,1 +DA:581,1 +DA:585,1 +DA:586,1 +LF:189 +LH:189 +BRDA:32,1,0,36 +BRDA:32,1,1,1859 +BRDA:34,2,0,45 +BRDA:34,2,1,1814 +BRDA:36,3,0,27 +BRDA:36,3,1,1787 +BRDA:36,4,0,1814 +BRDA:36,4,1,1628 +BRDA:44,5,0,12 +BRDA:44,5,1,1329 +BRDA:52,6,0,474 +BRDA:52,6,1,35 +BRDA:52,7,0,509 +BRDA:52,7,1,36 +BRDA:56,8,0,23 +BRDA:56,8,1,36 +BRDA:67,9,0,53 +BRDA:67,9,1,4 +BRDA:67,10,0,57 +BRDA:67,10,1,4 +BRDA:71,11,0,2 +BRDA:71,11,1,4 +BRDA:137,12,0,10 +BRDA:137,12,1,89 +BRDA:139,13,0,8 +BRDA:139,13,1,3 +BRDA:145,14,0,8 +BRDA:145,14,1,81 +BRDA:145,15,0,89 +BRDA:145,15,1,85 +BRDA:147,16,0,1 +BRDA:147,16,1,11 +BRDA:147,17,0,12 +BRDA:147,17,1,7 +BRDA:157,18,0,22 +BRDA:157,18,1,66 +BRDA:159,19,0,1 +BRDA:159,19,1,23 +BRDA:171,20,0,34 +BRDA:171,20,1,135 +BRDA:171,21,0,169 +BRDA:171,21,1,37 +BRDA:171,21,2,36 +BRDA:200,22,0,12 +BRDA:200,22,1,1 +BRDA:200,23,0,12 +BRDA:200,23,1,11 +BRDA:214,24,0,6 +BRDA:214,24,1,1 +BRDA:221,25,0,21 +BRDA:221,25,1,43 +BRDA:237,26,0,27 +BRDA:237,26,1,71 +BRDA:248,27,0,41 +BRDA:248,27,1,30 +BRDA:262,28,0,6 +BRDA:262,28,1,5 +BRDA:286,29,0,19 +BRDA:286,29,1,217 +BRDA:288,30,0,41 +BRDA:288,30,1,25 +BRDA:290,31,0,1 +BRDA:290,31,1,216 +BRDA:292,32,0,1 +BRDA:292,32,1,215 +BRDA:292,33,0,216 +BRDA:292,33,1,1 +BRDA:295,34,0,3 +BRDA:295,34,1,1 +BRDA:297,35,0,4 +BRDA:297,35,1,211 +BRDA:362,36,0,2 +BRDA:362,36,1,1 +BRDA:387,37,0,5 +BRDA:387,37,1,10 +BRDA:409,38,0,179 +BRDA:409,38,1,36 +BRDA:415,39,0,36 +BRDA:415,39,1,36 +BRDA:415,39,2,36 +BRDA:420,40,0,8 +BRDA:420,40,1,106 +BRDA:434,41,0,293 +BRDA:434,41,1,413 +BRDA:434,42,0,706 +BRDA:434,42,1,414 +BRDA:445,43,0,41 +BRDA:445,43,1,372 +BRDA:445,44,0,413 +BRDA:445,44,1,45 +BRDA:466,45,0,413 +BRDA:466,45,1,413 +BRDA:472,46,0,215 +BRDA:472,46,1,228 +BRDA:472,47,0,443 +BRDA:472,47,1,413 +BRDA:481,48,0,2 +BRDA:481,48,1,456 +BRDA:485,49,0,363 +BRDA:485,49,1,93 +BRDA:486,50,0,294 +BRDA:486,50,1,69 +BRDA:490,51,0,1 +BRDA:490,51,1,92 +BRDA:497,52,0,427 +BRDA:497,52,1,15 +BRDA:505,53,0,3 +BRDA:505,53,1,302 +BRDA:521,54,0,1 +BRDA:521,54,1,134 +BRDA:532,55,0,33 +BRDA:532,55,1,101 +BRDA:543,56,0,1 +BRDA:543,56,1,3 +BRDA:546,57,0,3 +BRDA:546,57,1,0 +BRDA:563,58,0,126 +BRDA:563,58,1,363 +BRDA:564,59,0,284 +BRDA:564,59,1,79 +BRDA:565,60,0,151 +BRDA:565,60,1,133 +BRDA:568,61,0,133 +BRDA:568,61,1,0 +BRDA:575,62,0,1 +BRDA:575,62,1,0 +BRDA:575,63,0,1 +BRDA:575,63,1,1 +BRDA:585,64,0,0 +BRDA:585,64,1,1 +BRF:130 +BRH:129 +end_of_record diff --git a/node_modules/sift/gulpfile.js b/node_modules/sift/gulpfile.js new file mode 100644 index 0000000..19cd650 --- /dev/null +++ b/node_modules/sift/gulpfile.js @@ -0,0 +1,154 @@ +var gulp = require("gulp"); +var istanbul = require("gulp-istanbul"); +var mocha = require("gulp-mocha"); +var plumber = require("gulp-plumber"); +var jshint = require("gulp-jshint"); +var uglify = require("gulp-uglify"); +var jscs = require("gulp-jscs"); +var coveralls = require("gulp-coveralls"); +var rename = require("gulp-rename"); +var options = require("yargs").argv; + +var pkg = require("./package"); + +/** + */ + +var paths = { + testFiles : ["test/**/*-test.js"], + appFiles : ["sift.js"], + allFiles : ["test/**/*-test.js", "sift.js"] +}; + +/** + */ + +var mochaOptions = { + bail : options.bail !== 'false', + reporter : options.reporter || 'dot', + grep : options.grep || options.only, + timeout : 500 +} + +/** + */ + +gulp.task("test-coverage", function (complete) { + gulp. + src(paths.appFiles). + pipe(istanbul()). + pipe(istanbul.hookRequire()). + on("finish", function () { + gulp. + src(paths.testFiles). + pipe(plumber()). + pipe(mocha(mochaOptions)). + pipe(istanbul.writeReports({ + reporters: ["text","text-summary", "lcov"] + })). + on("end", complete); + }); +}); + +/** + */ + +gulp.task("test-coveralls", ["test-coverage"], function () { + return gulp. + src("coverage/**/lcov.info"). + pipe(coveralls()); +}); +/** + */ + +gulp.task("minify", function() { + return gulp. + src("./" + pkg.name + ".js"). + pipe(uglify()). + pipe(rename(function(path) { + path.basename += ".min"; + })). + pipe(gulp.dest("./")); +}); + +/** + */ + +gulp.task("lint", function() { + return gulp.run(["jshint", "jscs"]); +}); + +/** + */ + +gulp.task("jscs", function() { + return gulp. + src(paths.allFiles). + pipe(jscs({ + "preset": "google", + "requireParenthesesAroundIIFE": true, + "maximumLineLength": 200, + "validateLineBreaks": "LF", + "validateIndentation": 2, + "validateQuoteMarks": "\"", + + "disallowKeywords": ["with"], + "disallowSpacesInsideObjectBrackets": null, + "disallowImplicitTypeConversion": ["string"], + "requireCurlyBraces": [], + + "safeContextKeyword": "self" + })); +}); + +/** + */ + +gulp.task("jshint", function() { + return gulp. + src(paths.allFiles). + pipe(jshint({ + es3: true, + evil: true + })). + pipe(jshint.reporter('default')); +}); + +/** + */ + +gulp.task("test", function (complete) { + gulp. + src(paths.testFiles, { read: false }). + pipe(plumber()). + pipe(mocha(mochaOptions)). + on("error", complete). + on("end", complete); +}); + +var iofwatch = process.argv.indexOf("watch"); + +/** + * runs previous tasks (1 or more) + */ + +gulp.task("watch", function () { + gulp.watch(paths.allFiles, process.argv.slice(2, iofwatch)); +}); + +/** + */ + +gulp.task("default", function () { + return gulp.run("test-coverage"); +}); + +/** + */ + +gulp.doneCallback = function (err) { + + // a bit hacky, but fixes issue with testing where process + // doesn't exist process. Also fixes case where timeout / interval are set (CC) + if (!~iofwatch) process.exit(err ? 1 : 0); +}; diff --git a/node_modules/sift/index.d.ts b/node_modules/sift/index.d.ts new file mode 100644 index 0000000..c650df9 --- /dev/null +++ b/node_modules/sift/index.d.ts @@ -0,0 +1,62 @@ +export type SupportedTypes = Array; +export type KeyOrValue = T & T[0]; + +export type ElemMatch = { + [P in keyof T]?: SiftQuery; +} + +export type Query = { + $eq?: T[0]; + $ne?: T[0]; + $or?: Array>; + $gt?: T[0]; + $gte?: T[0]; + $lt?: T[0]; + $lte?: T[0]; + $mod?: number[]; + $in?: Array>; + $nin?: Array>; + $not?: SiftQuery; + $type?: any; + $all?: Array>; + $size?: number; + $nor?: Array>; + $and?: Array>; + $regex?: RegExp | string; + $elemMatch?: ExternalQuery; + $exists?: boolean; + $where?: string | WhereFn; + $options?: "i" | "g" | "m" | "u"; +} + +export interface InternalQuery extends Query { +} + +export type ExternalQuery = ElemMatch; + +export type WhereFn = (this: T[0], value: T[0], index: number, array: T) => boolean; + +export type FilterFn = (value: T, index?: number, array?: T[]) => boolean; + +export type SiftQuery = ExternalQuery & InternalQuery; + +export type PluginDefinition = { + [index: string]: (a: T, b: T) => boolean | number; +} + +export type PluginFunction = (sift: Sift) => PluginDefinition; + +export type Exec = (array: T) => T; + +export interface Sift { + (query: RegExp, target: T, rawSelector?: any): T; + (query: SiftQuery, rawSelector: (item: T) => boolean): Exec; + (query: SiftQuery): FilterFn; + (query: SiftQuery, target: T, rawSelector?: any): T; + indexOf(query: SiftQuery, target: T, rawSelector?: any): number; + compare(a: T, b: K): 0 | -1 | 1; +} + + +declare const Sift: Sift +export default Sift diff --git a/node_modules/sift/lib/index.js b/node_modules/sift/lib/index.js new file mode 100644 index 0000000..5362098 --- /dev/null +++ b/node_modules/sift/lib/index.js @@ -0,0 +1,568 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +exports.default = sift; +exports.indexOf = indexOf; +exports.compare = compare; +/* + * + * Copryright 2018, Craig Condon + * Licensed under MIT + * + * Filter JavaScript objects with mongodb queries + */ + +/** + */ + +function isFunction(value) { + return typeof value === 'function'; +} + +/** + */ + +function isArray(value) { + return Object.prototype.toString.call(value) === '[object Array]'; +} + +/** + */ + +function comparable(value) { + if (value instanceof Date) { + return value.getTime(); + } else if (isArray(value)) { + return value.map(comparable); + } else if (value && typeof value.toJSON === 'function') { + return value.toJSON(); + } else { + return value; + } +} + +function get(obj, key) { + return isFunction(obj.get) ? obj.get(key) : obj[key]; +} + +/** + */ + +function or(validator) { + return function (a, b) { + if (!isArray(b) || !b.length) { + return validator(a, b); + } + for (var i = 0, n = b.length; i < n; i++) { + if (validator(a, get(b, i))) return true; + } + return false; + }; +} + +/** + */ + +function and(validator) { + return function (a, b) { + if (!isArray(b) || !b.length) { + return validator(a, b); + } + for (var i = 0, n = b.length; i < n; i++) { + if (!validator(a, get(b, i))) return false; + } + return true; + }; +} + +function validate(validator, b, k, o) { + return validator.v(validator.a, b, k, o); +} + +var OPERATORS = { + + /** + */ + + $eq: or(function (a, b) { + return a(b); + }), + + /** + */ + + $ne: and(function (a, b) { + return !a(b); + }), + + /** + */ + + $gt: or(function (a, b) { + return compare(comparable(b), a) > 0; + }), + + /** + */ + + $gte: or(function (a, b) { + return compare(comparable(b), a) >= 0; + }), + + /** + */ + + $lt: or(function (a, b) { + return compare(comparable(b), a) < 0; + }), + + /** + */ + + $lte: or(function (a, b) { + return compare(comparable(b), a) <= 0; + }), + + /** + */ + + $mod: or(function (a, b) { + return b % a[0] == a[1]; + }), + + /** + */ + + $in: function $in(a, b) { + + if (b instanceof Array) { + for (var i = b.length; i--;) { + if (~a.indexOf(comparable(get(b, i)))) { + return true; + } + } + } else { + var comparableB = comparable(b); + if (comparableB === b && (typeof b === 'undefined' ? 'undefined' : _typeof(b)) === 'object') { + for (var i = a.length; i--;) { + if (String(a[i]) === String(b) && String(b) !== '[object Object]') { + return true; + } + } + } + + /* + Handles documents that are undefined, whilst also + having a 'null' element in the parameters to $in. + */ + if (typeof comparableB == 'undefined') { + for (var i = a.length; i--;) { + if (a[i] == null) { + return true; + } + } + } + + /* + Handles the case of {'field': {$in: [/regexp1/, /regexp2/, ...]}} + */ + for (var i = a.length; i--;) { + var validator = createRootValidator(get(a, i), undefined); + var result = validate(validator, b, i, a); + if (result && String(result) !== '[object Object]' && String(b) !== '[object Object]') { + return true; + } + } + + return !!~a.indexOf(comparableB); + } + + return false; + }, + + /** + */ + + $nin: function $nin(a, b, k, o) { + return !OPERATORS.$in(a, b, k, o); + }, + + /** + */ + + $not: function $not(a, b, k, o) { + return !validate(a, b, k, o); + }, + + /** + */ + + $type: function $type(a, b) { + return b != void 0 ? b instanceof a || b.constructor == a : false; + }, + + /** + */ + + $all: function $all(a, b, k, o) { + return OPERATORS.$and(a, b, k, o); + }, + + /** + */ + + $size: function $size(a, b) { + return b ? a === b.length : false; + }, + + /** + */ + + $or: function $or(a, b, k, o) { + for (var i = 0, n = a.length; i < n; i++) { + if (validate(get(a, i), b, k, o)) return true; + }return false; + }, + + /** + */ + + $nor: function $nor(a, b, k, o) { + return !OPERATORS.$or(a, b, k, o); + }, + + /** + */ + + $and: function $and(a, b, k, o) { + for (var i = 0, n = a.length; i < n; i++) { + if (!validate(get(a, i), b, k, o)) { + return false; + } + } + return true; + }, + + /** + */ + + $regex: or(function (a, b) { + return typeof b === 'string' && a.test(b); + }), + + /** + */ + + $where: function $where(a, b, k, o) { + return a.call(b, b, k, o); + }, + + /** + */ + + $elemMatch: function $elemMatch(a, b, k, o) { + if (isArray(b)) { + return !!~search(b, a); + } + return validate(a, b, k, o); + }, + + /** + */ + + $exists: function $exists(a, b, k, o) { + return o.hasOwnProperty(k) === a; + } +}; + +/** + */ + +var prepare = { + + /** + */ + + $eq: function $eq(a) { + + if (a instanceof RegExp) { + return function (b) { + return typeof b === 'string' && a.test(b); + }; + } else if (a instanceof Function) { + return a; + } else if (isArray(a) && !a.length) { + // Special case of a == [] + return function (b) { + return isArray(b) && !b.length; + }; + } else if (a === null) { + return function (b) { + //will match both null and undefined + return b == null; + }; + } + + return function (b) { + return compare(comparable(b), comparable(a)) === 0; + }; + }, + + /** + */ + + $ne: function $ne(a) { + return prepare.$eq(a); + }, + + /** + */ + + $and: function $and(a) { + return a.map(parse); + }, + + /** + */ + + $all: function $all(a) { + return prepare.$and(a); + }, + + /** + */ + + $or: function $or(a) { + return a.map(parse); + }, + + /** + */ + + $nor: function $nor(a) { + return a.map(parse); + }, + + /** + */ + + $not: function $not(a) { + return parse(a); + }, + + /** + */ + + $regex: function $regex(a, query) { + return new RegExp(a, query.$options); + }, + + /** + */ + + $where: function $where(a) { + return typeof a === 'string' ? new Function('obj', 'return ' + a) : a; + }, + + /** + */ + + $elemMatch: function $elemMatch(a) { + return parse(a); + }, + + /** + */ + + $exists: function $exists(a) { + return !!a; + } +}; + +/** + */ + +function search(array, validator) { + + for (var i = 0; i < array.length; i++) { + var result = get(array, i); + if (validate(validator, get(array, i))) { + return i; + } + } + + return -1; +} + +/** + */ + +function createValidator(a, validate) { + return { a: a, v: validate }; +} + +/** + */ + +function nestedValidator(a, b) { + var values = []; + findValues(b, a.k, 0, b, values); + + if (values.length === 1) { + var first = values[0]; + return validate(a.nv, first[0], first[1], first[2]); + } + + // If the query contains $ne, need to test all elements ANDed together + var inclusive = a && a.q && typeof a.q.$ne !== 'undefined'; + var allValid = inclusive; + for (var i = 0; i < values.length; i++) { + var result = values[i]; + var isValid = validate(a.nv, result[0], result[1], result[2]); + if (inclusive) { + allValid &= isValid; + } else { + allValid |= isValid; + } + } + return allValid; +} + +/** + */ + +function findValues(current, keypath, index, object, values) { + + if (index === keypath.length || current == void 0) { + + values.push([current, keypath[index - 1], object]); + return; + } + + var k = get(keypath, index); + + // ensure that if current is an array, that the current key + // is NOT an array index. This sort of thing needs to work: + // sift({'foo.0':42}, [{foo: [42]}]); + if (isArray(current) && isNaN(Number(k))) { + for (var i = 0, n = current.length; i < n; i++) { + findValues(get(current, i), keypath, index, current, values); + } + } else { + findValues(get(current, k), keypath, index + 1, current, values); + } +} + +/** + */ + +function createNestedValidator(keypath, a, q) { + return { a: { k: keypath, nv: a, q: q }, v: nestedValidator }; +} + +/** + * flatten the query + */ + +function isVanillaObject(value) { + return value && value.constructor === Object; +} + +function parse(query) { + query = comparable(query); + + if (!query || !isVanillaObject(query)) { + // cross browser support + query = { $eq: query }; + } + + var validators = []; + + for (var key in query) { + var a = query[key]; + + if (key === '$options') { + continue; + } + + if (OPERATORS[key]) { + if (prepare[key]) a = prepare[key](a, query); + validators.push(createValidator(comparable(a), OPERATORS[key])); + } else { + + if (key.charCodeAt(0) === 36) { + throw new Error('Unknown operation ' + key); + } + validators.push(createNestedValidator(key.split('.'), parse(a), a)); + } + } + + return validators.length === 1 ? validators[0] : createValidator(validators, OPERATORS.$and); +} + +/** + */ + +function createRootValidator(query, getter) { + var validator = parse(query); + if (getter) { + validator = { + a: validator, + v: function v(a, b, k, o) { + return validate(a, getter(b), k, o); + } + }; + } + return validator; +} + +/** + */ + +function sift(query, array, getter) { + + if (isFunction(array)) { + getter = array; + array = void 0; + } + + var validator = createRootValidator(query, getter); + + function filter(b, k, o) { + return validate(validator, b, k, o); + } + + if (array) { + return array.filter(filter); + } + + return filter; +} + +/** + */ + +function indexOf(query, array, getter) { + return search(array, createRootValidator(query, getter)); +}; + +/** + */ + +function compare(a, b) { + if (a === b) return 0; + if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) === (typeof b === 'undefined' ? 'undefined' : _typeof(b))) { + if (a > b) { + return 1; + } + if (a < b) { + return -1; + } + } +}; + diff --git a/node_modules/sift/package.json b/node_modules/sift/package.json new file mode 100644 index 0000000..c0061e4 --- /dev/null +++ b/node_modules/sift/package.json @@ -0,0 +1,66 @@ +{ + "_from": "sift@7.0.1", + "_id": "sift@7.0.1", + "_inBundle": false, + "_integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==", + "_location": "/sift", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "sift@7.0.1", + "name": "sift", + "escapedName": "sift", + "rawSpec": "7.0.1", + "saveSpec": null, + "fetchSpec": "7.0.1" + }, + "_requiredBy": [ + "/mongoose" + ], + "_resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz", + "_shasum": "47d62c50b159d316f1372f8b53f9c10cd21a4b08", + "_spec": "sift@7.0.1", + "_where": "/home/pruss/Dev/3-minute-website/node_modules/mongoose", + "author": { + "name": "Craig Condon", + "email": "craig.j.condon@gmail.com", + "url": "http://crcn.io" + }, + "bugs": { + "url": "https://github.com/crcn/sift.js/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "mongodb query style array filtering", + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-core": "^6.26.3", + "babel-preset-es2015": "^6.24.1", + "babel-preset-es2015-loose": "^8.0.0", + "bson": "^3.0.2", + "immutable": "^3.7.6", + "mocha": "^5.2.0", + "webpack": "^4.20.2", + "webpack-cli": "^3.1.2", + "yargs": "^3.15.0" + }, + "engines": {}, + "es2015": "./src/index.js", + "homepage": "https://github.com/crcn/sift.js#readme", + "license": "MIT", + "main": "./lib/index.js", + "module": "./src/index.js", + "name": "sift", + "repository": { + "type": "git", + "url": "git+https://github.com/crcn/sift.js.git" + }, + "scripts": { + "build": "mkdir -p lib; babel src/index.js > lib/index.js; webpack", + "test": "mocha ./test -R spec --compilers js:babel-core/register" + }, + "typings": "./index.d.ts", + "version": "7.0.1" +} diff --git a/node_modules/sift/sift.min.js b/node_modules/sift/sift.min.js new file mode 100644 index 0000000..f82b7ae --- /dev/null +++ b/node_modules/sift/sift.min.js @@ -0,0 +1 @@ +!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.sift=t():n.sift=t()}(window,function(){return function(n){var t={};function r(e){if(t[e])return t[e].exports;var o=t[e]={i:e,l:!1,exports:{}};return n[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=n,r.c=t,r.d=function(n,t,e){r.o(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:e})},r.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,t){if(1&t&&(n=r(n)),8&t)return n;if(4&t&&"object"==typeof n&&n&&n.__esModule)return n;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:n}),2&t&&"string"!=typeof n)for(var o in n)r.d(e,o,function(t){return n[t]}.bind(null,o));return e},r.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(t,"a",t),t},r.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},r.p="",r(r.s=0)}([function(n,t,r){n.exports=r(1)},function(n,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n};function o(n){return"function"==typeof n}function u(n){return"[object Array]"===Object.prototype.toString.call(n)}function i(n){return n instanceof Date?n.getTime():u(n)?n.map(i):n&&"function"==typeof n.toJSON?n.toJSON():n}function f(n,t){return o(n.get)?n.get(t):n[t]}function c(n){return function(t,r){if(!u(r)||!r.length)return n(t,r);for(var e=0,o=r.length;e0}),$gte:c(function(n,t){return b(i(t),n)>=0}),$lt:c(function(n,t){return b(i(t),n)<0}),$lte:c(function(n,t){return b(i(t),n)<=0}),$mod:c(function(n,t){return t%n[0]==n[1]}),$in:function(n,t){if(!(t instanceof Array)){var r=i(t);if(r===t&&"object"===(void 0===t?"undefined":e(t)))for(u=n.length;u--;)if(String(n[u])===String(t)&&"[object Object]"!==String(t))return!0;if(void 0===r)for(u=n.length;u--;)if(null==n[u])return!0;for(u=n.length;u--;){var o=l(y(f(n,u),void 0),t,u,n);if(o&&"[object Object]"!==String(o)&&"[object Object]"!==String(t))return!0}return!!~n.indexOf(r)}for(var u=t.length;u--;)if(~n.indexOf(i(f(t,u))))return!0;return!1},$nin:function(n,t,r,e){return!a.$in(n,t,r,e)},$not:function(n,t,r,e){return!l(n,t,r,e)},$type:function(n,t){return void 0!=t&&(t instanceof n||t.constructor==n)},$all:function(n,t,r,e){return a.$and(n,t,r,e)},$size:function(n,t){return!!t&&n===t.length},$or:function(n,t,r,e){for(var o=0,u=n.length;ot)return 1;if(n 0; + }), + + /** + */ + + $gte: or(function(a, b) { + return compare(comparable(b), a) >= 0; + }), + + /** + */ + + $lt: or(function(a, b) { + return compare(comparable(b), a) < 0; + }), + + /** + */ + + $lte: or(function(a, b) { + return compare(comparable(b), a) <= 0; + }), + + /** + */ + + $mod: or(function(a, b) { + return b % a[0] == a[1]; + }), + + /** + */ + + $in: function(a, b) { + + if (b instanceof Array) { + for (var i = b.length; i--;) { + if (~a.indexOf(comparable(get(b, i)))) { + return true; + } + } + } else { + var comparableB = comparable(b); + if (comparableB === b && typeof b === 'object') { + for (var i = a.length; i--;) { + if (String(a[i]) === String(b) && String(b) !== '[object Object]') { + return true; + } + } + } + + /* + Handles documents that are undefined, whilst also + having a 'null' element in the parameters to $in. + */ + if (typeof comparableB == 'undefined') { + for (var i = a.length; i--;) { + if (a[i] == null) { + return true; + } + } + } + + /* + Handles the case of {'field': {$in: [/regexp1/, /regexp2/, ...]}} + */ + for (var i = a.length; i--;) { + var validator = createRootValidator(get(a, i), undefined); + var result = validate(validator, b, i, a); + if ((result) && (String(result) !== '[object Object]') && (String(b) !== '[object Object]')) { + return true; + } + } + + return !!~a.indexOf(comparableB); + } + + return false; + }, + + /** + */ + + $nin: function(a, b, k, o) { + return !OPERATORS.$in(a, b, k, o); + }, + + /** + */ + + $not: function(a, b, k, o) { + return !validate(a, b, k, o); + }, + + /** + */ + + $type: function(a, b) { + return b != void 0 ? b instanceof a || b.constructor == a : false; + }, + + /** + */ + + $all: function(a, b, k, o) { + return OPERATORS.$and(a, b, k, o); + }, + + /** + */ + + $size: function(a, b) { + return b ? a === b.length : false; + }, + + /** + */ + + $or: function(a, b, k, o) { + for (var i = 0, n = a.length; i < n; i++) if (validate(get(a, i), b, k, o)) return true; + return false; + }, + + /** + */ + + $nor: function(a, b, k, o) { + return !OPERATORS.$or(a, b, k, o); + }, + + /** + */ + + $and: function(a, b, k, o) { + for (var i = 0, n = a.length; i < n; i++) { + if (!validate(get(a, i), b, k, o)) { + return false; + } + } + return true; + }, + + /** + */ + + $regex: or(function(a, b) { + return typeof b === 'string' && a.test(b); + }), + + /** + */ + + $where: function(a, b, k, o) { + return a.call(b, b, k, o); + }, + + /** + */ + + $elemMatch: function(a, b, k, o) { + if (isArray(b)) { + return !!~search(b, a); + } + return validate(a, b, k, o); + }, + + /** + */ + + $exists: function(a, b, k, o) { + return o.hasOwnProperty(k) === a; + } +}; + +/** + */ + +var prepare = { + + /** + */ + + $eq: function(a) { + + if (a instanceof RegExp) { + return function(b) { + return typeof b === 'string' && a.test(b); + }; + } else if (a instanceof Function) { + return a; + } else if (isArray(a) && !a.length) { + // Special case of a == [] + return function(b) { + return (isArray(b) && !b.length); + }; + } else if (a === null){ + return function(b){ + //will match both null and undefined + return b == null; + } + } + + return function(b) { + return compare(comparable(b), comparable(a)) === 0; + }; + }, + + /** + */ + + $ne: function(a) { + return prepare.$eq(a); + }, + + /** + */ + + $and: function(a) { + return a.map(parse); + }, + + /** + */ + + $all: function(a) { + return prepare.$and(a); + }, + + /** + */ + + $or: function(a) { + return a.map(parse); + }, + + /** + */ + + $nor: function(a) { + return a.map(parse); + }, + + /** + */ + + $not: function(a) { + return parse(a); + }, + + /** + */ + + $regex: function(a, query) { + return new RegExp(a, query.$options); + }, + + /** + */ + + $where: function(a) { + return typeof a === 'string' ? new Function('obj', 'return ' + a) : a; + }, + + /** + */ + + $elemMatch: function(a) { + return parse(a); + }, + + /** + */ + + $exists: function(a) { + return !!a; + } +}; + +/** + */ + +function search(array, validator) { + + for (var i = 0; i < array.length; i++) { + var result = get(array, i); + if (validate(validator, get(array, i))) { + return i; + } + } + + return -1; +} + +/** + */ + +function createValidator(a, validate) { + return { a: a, v: validate }; +} + +/** + */ + +function nestedValidator(a, b) { + var values = []; + findValues(b, a.k, 0, b, values); + + if (values.length === 1) { + var first = values[0]; + return validate(a.nv, first[0], first[1], first[2]); + } + + // If the query contains $ne, need to test all elements ANDed together + var inclusive = a && a.q && typeof a.q.$ne !== 'undefined'; + var allValid = inclusive; + for (var i = 0; i < values.length; i++) { + var result = values[i]; + var isValid = validate(a.nv, result[0], result[1], result[2]); + if (inclusive) { + allValid &= isValid; + } else { + allValid |= isValid; + } + } + return allValid; +} + +/** + */ + +function findValues(current, keypath, index, object, values) { + + if (index === keypath.length || current == void 0) { + + values.push([current, keypath[index - 1], object]); + return; + } + + var k = get(keypath, index); + + // ensure that if current is an array, that the current key + // is NOT an array index. This sort of thing needs to work: + // sift({'foo.0':42}, [{foo: [42]}]); + if (isArray(current) && isNaN(Number(k))) { + for (var i = 0, n = current.length; i < n; i++) { + findValues(get(current, i), keypath, index, current, values); + } + } else { + findValues(get(current, k), keypath, index + 1, current, values); + } +} + +/** + */ + +function createNestedValidator(keypath, a, q) { + return { a: { k: keypath, nv: a, q: q }, v: nestedValidator }; +} + +/** + * flatten the query + */ + +function isVanillaObject(value) { + return value && value.constructor === Object; +} + +function parse(query) { + query = comparable(query); + + if (!query || !isVanillaObject(query)) { // cross browser support + query = { $eq: query }; + } + + var validators = []; + + for (var key in query) { + var a = query[key]; + + if (key === '$options') { + continue; + } + + if (OPERATORS[key]) { + if (prepare[key]) a = prepare[key](a, query); + validators.push(createValidator(comparable(a), OPERATORS[key])); + } else { + + if (key.charCodeAt(0) === 36) { + throw new Error('Unknown operation ' + key); + } + validators.push(createNestedValidator(key.split('.'), parse(a), a)); + } + } + + return validators.length === 1 ? validators[0] : createValidator(validators, OPERATORS.$and); +} + +/** + */ + +function createRootValidator(query, getter) { + var validator = parse(query); + if (getter) { + validator = { + a: validator, + v: function(a, b, k, o) { + return validate(a, getter(b), k, o); + } + }; + } + return validator; +} + +/** + */ + +export default function sift(query, array, getter) { + + if (isFunction(array)) { + getter = array; + array = void 0; + } + + var validator = createRootValidator(query, getter); + + function filter(b, k, o) { + return validate(validator, b, k, o); + } + + if (array) { + return array.filter(filter); + } + + return filter; +} + +/** + */ + +export function indexOf(query, array, getter) { + return search(array, createRootValidator(query, getter)); +}; + +/** + */ + +export function compare(a, b) { + if(a===b) return 0; + if(typeof a === typeof b) { + if (a > b) { + return 1; + } + if (a < b) { + return -1; + } + } +}; \ No newline at end of file diff --git a/node_modules/sift/test/basic-test.js b/node_modules/sift/test/basic-test.js new file mode 100644 index 0000000..799f0d0 --- /dev/null +++ b/node_modules/sift/test/basic-test.js @@ -0,0 +1,237 @@ +import * as assert from 'assert'; +import sift, {indexOf as siftIndexOf} from '..'; + +describe(__filename + '#', function() { + + it('doesn\'t sort arrays', function () { + var values = sift({ + $or: [3, 2, 1] + }, [9,8,7,6,5,4,3,2,1]); + + + assert.equal(values.length, 3); + assert.equal(values[0], 3); + assert.equal(values[1], 2); + assert.equal(values[2], 1); + }); + + it('can create a custom selector, and use it', function () { + var sifter = sift({ age: { $gt: 5}}, function (item) { + return item.person; + }); + + var people = [{ person: { age: 6 }}], + filtered = people.filter(sifter); + + + assert.equal(filtered.length, 1); + assert.equal(filtered[0], people[0]); + }); + + it('throws an error if the operation is invalid', function () { + + var err; + try { + sift({$aaa:1})('b'); + } catch (e) { + err = e; + } + + assert.equal(err.message, 'Unknown operation $aaa'); + + }); + + it('can use a custom selector as the 3rd param', function () { + + var people = [{ person: { age: 6 }}]; + + var filtered = sift({ age: { $gt: 5}}, people, function (item) { + return item.person; + }); + + assert.equal(filtered.length, 1); + assert.equal(filtered[0], people[0]); + }); + + it('can get the first index of a matching element', function () { + var index = siftIndexOf({ val: { $gt: 5}}, [{val: 4}, {val: 3}, {val: 6}, {val: 7}]); + + assert.equal(index, 2); + }); + + it('returns -1 as index if no matching element is found', function () { + var index = siftIndexOf({ val: { $gt: 7}}, [{val: 4}, {val: 3}, {val: 6}, {val: 7}]); + + assert.equal(index, -1); + }); + + it('can match empty arrays', function () { + var statusQuery = {$or: [{status: {$exists: false}}, + {status: []}, + {status: {$in: ['urgent', 'completed', 'today']}} + ]}; + + var filtered = sift(statusQuery, [{ status: [] }, + { status: ['urgent'] }, + { status: ['nope'] } + ]); + + assert.equal(filtered.length, 2); + }); + + it('$ne: null does not hit when field is present', function(){ + var sifter = sift({age: {$ne: null}}); + + var people = [ + {age: 'matched'}, + {missed: 1} + ]; + var filtered = people.filter(sifter); + + assert.equal(filtered.length, 1); + assert.equal(filtered[0].age, 'matched'); + }); + + it('$ne does not hit when field is different', function () { + var sifter = sift({ age: { $ne: 5 }}); + + var people = [{ age: 5 }], + filtered = people.filter(sifter); + + assert.equal(filtered.length, 0); + }); + + it('$ne does hit when field exists with different value', function () { + var sifter = sift({ age: { $ne: 4 }}); + + var people = [{ age: 5 }], + filtered = people.filter(sifter); + + assert.equal(filtered.length, 1); + }); + + it('$ne does hit when field does not exist', function(){ + var sifter = sift({ age: { $ne: 5 }}); + + var people = [{}], + filtered = people.filter(sifter); + + assert.equal(filtered.length, 1); + }); + + it('$eq matches objects that serialize to the same value', function() { + var counter = 0; + function Book(name) { + this.name = name; + this.copyNumber = counter; + this.toJSON = function() { + return this.name; // discard the copy when serializing. + }; + counter += 1; + } + + var warAndPeace = new Book('War and Peace'); + + var sifter = sift({ $eq: warAndPeace}); + + var books = [ new Book('War and Peace')]; + var filtered = books.filter(sifter); + + assert.equal(filtered.length, 1); + }); + + it('$neq does not match objects that serialize to the same value', function() { + var counter = 0; + function Book(name) { + this.name = name; + this.copyNumber = counter; + this.toJSON = function() { + return this.name; // discard the copy when serializing. + }; + counter += 1; + } + + var warAndPeace = new Book('War and Peace'); + + var sifter = sift({ $ne: warAndPeace}); + + var books = [ new Book('War and Peace')]; + var filtered = books.filter(sifter); + + assert.equal(filtered.length, 0); + }); + + // https://gist.github.com/jdnichollsc/00ea8cf1204b17d9fb9a991fbd1dfee6 + it('returns a period between start and end dates', function() { + + var product = { + 'productTypeCode': 'productTypeEnergy', + 'quantities': [ + { + 'period': { + 'startDate': new Date('2017-01-13T05:00:00.000Z'), + 'endDate': new Date('2017-01-31T05:00:00.000Z'), + 'dayType': { + 'normal': true, + 'holiday': true + }, + 'specificDays': [ + 'monday', + 'wednesday', + 'friday' + ], + 'loadType': { + 'high': true, + 'medium': false, + 'low': false + } + }, + 'type': 'DemandPercentage', + 'quantityValue': '44' + }, + { + 'period': { + 'startDate': new Date('2017-01-13T05:00:00.000Z'), + 'endDate': new Date('2017-01-31T05:00:00.000Z'), + 'dayType': { + 'normal': true, + 'holiday': true + }, + 'loadType': { + 'high': false, + 'medium': true, + 'low': false + } + }, + 'type': 'Value', + 'quantityValue': '22' + } + ] + }; + + var period = { + 'startDate': new Date('2017-01-08T05:00:00.000Z'), + 'endDate': new Date('2017-01-29T05:00:00.000Z'), + 'dayType': { + 'normal': true, + 'holiday': true + }, + 'loadType': { + 'high': true, + 'medium': false, + 'low': true + }, + specificPeriods : ['3', '4', '5-10'] + }; + + + var results = sift({ + $and: [ + { 'period.startDate': { $lte : period.endDate } }, + { 'period.endDate': { $gte : period.startDate } } + ] + }, product.quantities); + + assert.equal(results.length, 2); + }); +}); diff --git a/node_modules/sift/test/immutable-test.js b/node_modules/sift/test/immutable-test.js new file mode 100644 index 0000000..8685d30 --- /dev/null +++ b/node_modules/sift/test/immutable-test.js @@ -0,0 +1,20 @@ +import * as assert from 'assert'; +import * as Immutable from 'immutable'; + +import sift from '..'; +const ObjectID = require('bson').ObjectID; + +describe(__filename + '#', function() { + + + + var topic = Immutable.List([1, 2, 3, 4, 5, 6, 6, 4, 3]); + + + var persons = Immutable.fromJS([{ person: {age: 3} }, { person: {age: 5} }, { person: {age: 8} }]); + + it('works with Immutable.Map in a Immutable.List', function() { + assert.equal(sift({ 'person.age' : { $gt: 4 } }, persons).size, 2); + assert.equal(persons.filter(sift({ 'person.age' : { $gt: 4 } })).size, 2); + }); +}); diff --git a/node_modules/sift/test/objects-test.js b/node_modules/sift/test/objects-test.js new file mode 100755 index 0000000..951349b --- /dev/null +++ b/node_modules/sift/test/objects-test.js @@ -0,0 +1,409 @@ +import assert from 'assert'; +import sift from '..'; + +describe(__filename + '#', function () { + + + var topic = [ + { + name: 'craig', + age: 90001, + tags: ['coder', 'programmer', 'traveler', 'photographer'], + address: { + city: 'Minneapolis', + state: 'MN', + phone: '9999999999' + }, + tags: ['photos', 'cook'], + hobbies: [ + { + name: 'programming', + description: 'some desc' + }, + { + name: 'cooking' + }, + { + name: 'photography', + places: ['haiti', 'brazil', 'costa rica'] + }, + { + name: 'backpacking' + } + ] + }, + { + name: 'tim', + age: 90001, + tags: ['traveler', 'photographer'], + address: { + city: 'St. Paul', + state: 'MN', + phone: '765765756765' + }, + tags: ['dj'], + hobbies: [ + { + name: 'biking', + description: 'some desc' + }, + { + name: 'DJ' + }, + { + name: 'photography', + places: ['costa rica'] + } + ] + } + ]; + xit('throws error if $not is incorrect', function () { + assert.throws(function () { + sift({ + $not: ['abc'] + }, topic); + }, Error); + }); + it('has sifted through photography in brazil count of 1', function () { + var sifted = sift({ + hobbies: { + name: 'photography', + places: { + $in: ['brazil'] + } + } + }, topic); + assert.equal(sifted.length, 1); + }); + it('has sifted through photography in brazil, haiti, and costa rica count of 1', function () { + var sifted = sift({ + hobbies: { + name: 'photography', + places: { + $all: ['brazil', 'haiti', 'costa rica'] + } + } + }, topic); + assert.equal(sifted.length, 1); + assert.equal(sifted[0], topic[0]); + }); + it('has a sifted hobbies of photography, cooking, or biking count of 2', function () { + var sifted = sift({ + hobbies: { + name: { + $in: ['photography', 'cooking', 'biking'] + } + } + }, topic); + assert.equal(sifted.length, 2); + }); + it('has sifted to complex count of 2', function () { + var sifted = sift({ + hobbies: { + name: 'photography', + places: { + $in: ['costa rica'] + } + }, + address: { + state: 'MN', + phone: { + $exists: true + } + } + }, topic); + + assert.equal(sifted.length, 2); + }); + it('has sifted to complex count of 0', function () { + var sifted = sift({ + hobbies: { + name: 'photos', + places: { + $in: ['costa rica'] + } + } + }, topic); + assert.equal(sifted.length, 0); + }); + it('has sifted subobject hobbies count of 3', function () { + var sifted = sift({ + 'hobbies.name': 'photography' + }, topic); + assert.equal(sifted.length, 2); + }); + it('has sifted dot-notation hobbies of photography, cooking, and biking count of 3', function () { + var sifted = sift({ + 'hobbies.name': { + $in: ['photography', 'cooking', 'biking'] + } + }, topic); + assert.equal(sifted.length, 2); + }); + it('has sifted to complex dot-search count of 2', function () { + var sifted = sift({ + 'hobbies.name': 'photography', + 'hobbies.places': { + $in: ['costa rica'] + }, + 'address.state': 'MN', + 'address.phone': { + $exists: true + } + }, topic); + assert.equal(sifted.length, 2); + }); + it('has sifted with selector function count of 2', function () { + var sifted = sift({ + 'name': 'photography', + 'places': { + $in: ['costa rica'] + } + }, topic, function (item) { + return item.hobbies; + }); + assert.equal(sifted.length, 2); + }); + + describe('nesting', function () { + it('$eq for nested object', function () { + var sifted = sift({'sub.num': {'$eq': 10}}, loremArr); + assert(sifted.length > 0); + sifted.forEach(function (v) { + assert.equal(10, v.sub.num); + }); + }); + + it('$ne for nested object', function () { + var sifted = sift({'sub.num': {'$ne': 10}}, loremArr); + assert(sifted.length > 0); + sifted.forEach(function (v) { + assert.notEqual(10, v.sub.num); + }); + }); + + it('$regex for nested object (one missing key)', function () { + var persons = [{ + id: 1, + prof: 'Mr. Moriarty' + }, { + id: 2, + prof: 'Mycroft Holmes' + }, { + id: 3, + name: 'Dr. Watson', + prof: 'Doctor' + }, { + id: 4, + name: 'Mr. Holmes', + prof: 'Detective' + }]; + var q = { 'name': { '$regex': 'n' } }; + var sifted = sift(q, persons); + assert.deepEqual(sifted, [{ + id: 3, + name: 'Dr. Watson', + prof: 'Doctor' + }]); + }); + }); + + describe('arrays of objects', function () { + var objects = [ + { + things: [ + { + id: 123 + }, { + id: 456 + } + ] + }, { + things: [ + { + id: 123 + }, + { + id: 789 + } + ] + } + ]; + it('$eq for array of objects, matches if at least one exists', function () { + let q = { + 'things.id': 123 + } + var sifted = sift(q, objects) + assert.deepEqual(sifted, objects) + let q2 = { + 'things.id': 789 + } + var sifted2 = sift(q2, objects) + assert.deepEqual(sifted2, [objects[1]]) + }) + it('$ne for array of objects, returns if none of the array elements match the query', function () { + let q = { + 'things.id': { + $ne: 123 + } + } + var sifted = sift(q, objects) + assert.deepEqual(sifted, []) + let q2 = { + 'things.id': { + $ne: 789 + } + } + var sifted2 = sift(q2, objects) + assert.deepEqual(sifted2, [objects[0]]) + }) + }) + + describe('$where', function() { + + var couples = [{ + name: 'SMITH', + person: [{ + firstName: 'craig', + gender: 'female', + age: 29 + }, { + firstName: 'tim', + gender: 'male', + age: 32 + } + + ] + }, { + name: 'JOHNSON', + person: [{ + firstName: 'emily', + gender: 'female', + age: 35 + }, { + firstName: 'jacob', + gender: 'male', + age: 32 + } + + ] + }]; + + it('can filter people', function() { + var results = sift({'person': {$elemMatch: { 'gender': 'female', 'age': {'$lt': 30}}}}, couples); + assert.equal(results[0].name, 'SMITH'); + + var results = sift({'person': {$elemMatch: { 'gender': 'male', 'age': {'$lt': 30}}}}, [couples[0]]); + assert.equal(results.length, 0); + }); + }); + + describe('keypath', function () { + + var arr = [ + { + a: { + b: { + c: 1, + c2: 1 + } + } + } + ] + it('can be used', function () { + assert.equal(sift({'a.b.c':1})(arr[0]), true); + }); + }); +}); + + +var loremArr = [ + { + 'num': 1, + 'pum': 1, + 'sub': { + 'num': 1, + 'pum': 1 + } + }, + { + 'num': 2, + 'pum': 2, + 'sub': { + 'num': 2, + 'pum': 2 + } + }, + { + 'num': 3, + 'pum': 3, + 'sub': { + 'num': 3, + 'pum': 3 + } + }, + { + 'num': 4, + 'pum': 4, + 'sub': { + 'num': 4, + 'pum': 4 + } + }, + { + 'num': 5, + 'pum': 5, + 'sub': { + 'num': 5, + 'pum': 5 + } + }, + { + 'num': 6, + 'pum': 6, + 'sub': { + 'num': 6, + 'pum': 6 + } + }, + { + 'num': 7, + 'pum': 7, + 'sub': { + 'num': 7, + 'pum': 7 + } + }, + { + 'num': 8, + 'pum': 8, + 'sub': { + 'num': 8, + 'pum': 8 + } + }, + { + 'num': 9, + 'pum': 9, + 'sub': { + 'num': 9, + 'pum': 9 + } + }, + { + 'num': 10, + 'pum': 10, + 'sub': { + 'num': 10, + 'pum': 10 + } + }, + { + 'num': 11, + 'pum': 11, + 'sub': { + 'num': 10, + 'pum': 10 + } + } +]; diff --git a/node_modules/sift/test/operations-test.js b/node_modules/sift/test/operations-test.js new file mode 100644 index 0000000..337600e --- /dev/null +++ b/node_modules/sift/test/operations-test.js @@ -0,0 +1,203 @@ +import * as assert from 'assert'; +import sift from '..'; +var ObjectID = require('bson').ObjectID; + +describe(__filename + '#', function () { + + + [ + // $eq + [{$eq:5}, [5,'5', 6], [5]], + ['5', [5,'5', 6], ['5']], + [false, [false,'false', true], [false]], + [true, [1, true], [true]], + [0, [0,'0'], [0]], + [null, [null], [null]], + [void 0, [void 0, null], [void 0]], + [1, [2,3,4,5], []], + [1, [[1]], [[1]]], + [new Date(1), [new Date(), new Date(1), new Date(2), new Date(3)], [new Date(1)]], + [/^a/, ['a','ab','abc','b','bc'], ['a','ab','abc']], + + [function(b) { return b === 1; }, [1,2,3],[1]], + + [ObjectID('54dd5546b1d296a54d152e84'),[ObjectID(),ObjectID('54dd5546b1d296a54d152e84')],[ObjectID('54dd5546b1d296a54d152e84')]], + + // $ne + [{$ne:5}, [5, '5', 6], ['5', 6]], + [{$ne:'5'}, ['5', 6], [6]], + [{$ne:false}, [false], []], + [{$ne:void 0}, [false, 0, '0', void 0], [false, 0, '0']], + [{$ne:/^a/}, ['a','ab','abc','b','bc'], ['b','bc']], + [{$ne:1}, [[2],[1]], [[2]]], + [{groups:{$ne:111}}, [{groups:[111,222,333,444]},{groups:[222,333,444]}],[{groups:[222,333,444]}]], + + // $lt + [{$lt:5}, [3,4,5,6],[3,4]], + [{$lt:'c'}, ['a','b','c'],['a','b']], + [{$lt:null}, [-3,-4], []], + [{$lt:new Date(3)}, [new Date(1), new Date(2), new Date(3)],[new Date(1), new Date(2)]], + + // $lte + [{$lte:5}, [3,4,5,6],[3,4,5]], + [{groups:{$lt:5}}, [{groups:[1,2,3,4]}, {groups:[7,8]}], [{groups:[1,2,3,4]}]], + + // $gt + [{$gt:5}, [3,4,5,6],[6]], + [{$gt:null}, [3,4], []], + [{groups:{$gt:5}}, [{groups:[1,2,3,4]}, {groups:[7,8]}], [{groups:[7,8]}]], + + // $gte + [{$gte:5}, [3,4,5,6],[5, 6]], + [{groups:{$gte:5}}, [{groups:[1,2,3,4]}, {groups:[7,8]}], [{groups:[7,8]}]], + + // $mod + [{$mod:[2,1]}, [1,2,3,4,5,6],[1,3,5]], + [{groups:{$mod:[2,0]}}, [{groups:[1,2,3,4]}, {groups:[7,9]}], [{groups:[1,2,3,4]}]], + + // $exists + [{$exists:false}, [0,false,void 0, null],[]], + [{$exists:true}, [0,false,void 0, 1, {}],[0, false, void 0, 1, {}]], + [{'a.b': {$exists: true}}, [{a: {b: 'exists'}}, {a: {c: 'does not exist'}}], [{a: {b: 'exists'}}]], + [{field: { $exists: false }}, [{a: 1}, {a: 2, field: 5}, {a: 3, field: 0}, {a: 4, field: undefined}, {a: 5}],[{a: 1}, {a: 5}]], + + // $in + // TODO - {$in:[Date]} doesn't work - make it work? + [{$in:[0,false,1,'1']},[0,1,2,3,4,false],[0,1,false]], + [{$in:[1,'1','2']},['1','2','3'],['1','2']], + [{$in:[new Date(1)]},[new Date(1), new Date(2)],[new Date(1)]], + [{'a.b.status':{'$in': [0]}}, [{'a':{'b':[{'status':0}]}},{'a':{'b':[{'status':2}]}}],[{'a':{'b':[{'status':0}]}}]], + [{'a.b.status':{'$in': [0, 2]}}, [{'a':{'b':[{'status':0}]}},{'a':{'b':[{'status':2}]}}], [{'a':{'b':[{'status':0}]}},{'a':{'b':[{'status':2}]}}]], + [{'x': {$in: [{$regex: '.*aaa.*'}, {$regex: '.*bbb.*'}]}}, [{'x': {'b': 'aaa'}}, {'x': 'bbb'}, {'x': 'ccc'}, {'x': 'aaa'}], [{'x': 'bbb'}, {'x': 'aaa'}]], + [{'x': {$in: [/.*aaa.*/, /.*bbb.*/]}}, [{'x': {'b': 'aaa'}}, {'x': 'bbb'}, {'x': 'ccc'}, {'x': 'aaa'}], [{'x': 'bbb'}, {'x': 'aaa'}]], + + // $nin + [{$nin:[0,false,1,'1']},[0,1,2,3,4,false],[2,3,4]], + [{$nin:[1,'1','2']},['1','2','3'],['3']], + [{$nin:[new Date(1)]},[new Date(1), new Date(2)],[new Date(2)]], + [{'root.notDefined': {$nin: [1, 2, 3]}}, [{'root': {'defined': 1337}}], [{'root': {'defined': 1337}}]], + [{'root.notDefined': {$nin: [1, 2, 3, null]}}, [{'root': {'defined': 1337}}], []], + [{'x': {$nin: [{$regex: '.*aaa.*'}, {$regex: '.*bbb.*'}]}}, [{'x': {'b': 'aaa'}}, {'x': 'bbb'}, {'x': 'ccc'}, {'x': 'aaa'}], [{'x': {'b': 'aaa'}},{'x': 'ccc'}]], + [{'x': {$nin: [/.*aaa.*/, /.*bbb.*/]}}, [{'x': {'b': 'aaa'}}, {'x': 'bbb'}, {'x': 'ccc'}, {'x': 'aaa'}], [{'x': {'b': 'aaa'}},{'x': 'ccc'}]], + + // $not + [{$not:false},[0,false],[0]], + [{$not:0},[0, false, 1, 2, 3],[false, 1, 2, 3]], + [{$not:{$in:[1,2,3]}},[1,2,3,4,5,6],[4,5,6]], // with expressions + + // $type + [{$type:Date}, [0,new Date(1)],[new Date(1)]], + [{$type:Number}, [0,false,1],[0,1]], + [{$type:Boolean}, [0,false, void 0],[false]], + [{$type:String}, ['1',1,false],['1']], + + // $all + [{$all:[1,2,3]},[[1,2,3,4],[1,2,4]],[[1,2,3,4]]], + [{$all:[0,false]},[[0,1,2],[0,false],['0','false'],void 0],[[0,false]]], + [{$all:['1']},[[1]],[]], + [{$all:[new Date(1),new Date(2)]},[[new Date(1), new Date(2)],[new Date(1)]],[[new Date(1), new Date(2)]]], + + // $size + [{$size:3},['123',[1,2,3],'1'],['123',[1,2,3]]], + [{$size:1},['123',[1,2,3],'1', void 0],['1']], + + // $or + [{$or:[1,2,3]},[1,2,3,4],[1,2,3]], + [{$or:[{$ne:1},2]},[1,2,3,4,5,6],[2,3,4,5,6]], + + // $nor + [{$nor:[1,2,3]},[1,2,3,4],[4]], + [{$nor:[{$ne:1},2]},[1,2,3,4,5,6],[1]], + + // $and + [{$and:[{$gt:1},{$lt:4}]},[1,2,3,4],[2,3]], + [{$and: [{field: {$not: {$type: String}}}, {field: {$ne: null}}]}, [{a: 1, field: 1}, {a: 2, field: '2'}], [{a: 1, field: 1}]], + + // $regex + [{$regex:'^a'},['a','ab','abc','bc','bcd'],['a','ab','abc']], + [{a:{$regex:'b|c'}}, [{a:['b']},{a:['c']},{a:'c'},{a:'d'}], [{a:['b']},{a:['c']},{a:'c'}]], + [{ folder: { $regex:'^[0-9]{4}$' }}, [{ folder:['1234','3212'] }], [{ folder:['1234','3212'] }]], + + // $options + [{$regex:'^a', $options: 'i'},['a','Ab','abc','bc','bcd'],['a','Ab','abc']], + [{'text':{'$regex':'.*lis.*','$options':'i'}}, [{text:['Bob','Melissa','Joe','Sherry']}], [{text:['Bob','Melissa','Joe','Sherry']}]], + + // undefined + [{$regex:'a'},[undefined, null, true, false, 0, 'aa'],['aa']], + [/a/,[undefined, null, true, false, 0, 'aa'],['aa']], + [/.+/,[undefined, null, true, false, 0, 'aa', {}],['aa']], + + // Multiple conditions on an undefined root + [{'a.b': {$exists: true, $nin: [null]}}, [{a: {b: 'exists'}}, {a: {c: 'does not exist'}}], [{a: {b: 'exists'}}]], + + // $where + [{$where:function () { return this.v === 1 }}, [{v:1},{v:2}],[{v:1}]], + [{$where:'this.v === 1'}, [{v:1},{v:2}],[{v:1}]], + [{$where:'obj.v === 1'}, [{v:1},{v:2}],[{v:1}]], + + // $elemMatch + //{'person': {'$elemMatch': {'gender': 'male', 'age': {'$lt': 30}}}} + [ + {a:{$elemMatch:{b:1,c:2}}}, + [{a:{b:1,c:2}},{a:[{b:1,c:2,d:3}]},{a:{b:2,c:3}}], [{a:{b:1,c:2}},{a:[{b:1,c:2,d:3}]}] + ], + [{a:{$elemMatch:{b:2,c:{$gt:2}}}}, [{a:{b:1,c:2}},{a:{b:1,c:2,d:3}},[{a:{b:2,c:3}}]], [[{a:{b:2,c:3}}]]], + [ + {tags: {$all: [{$elemMatch: {a: 1}}]}}, + [{tags: [{a: 1}]}, {tags: [{a: 1}, {b: 1}]}], [{tags: [{a: 1}]}, {tags: [{a: 1}, {b: 1}]}] + ], + + // dot-notation + [ + {'a.b': /c/ }, + [{a:{b:'c'}}, {a:{b:'cd'}}, {'a.b':'c'},{a:{b:'e'}}], + [{a:{b:'c'}}, {a:{b:'cd'}}] + ], + [ + {'foo.0': 'baz' }, + [{foo:['bar', 'baz']}, {foo:['baz', 'bar']}], + [{foo:['baz', 'bar']}] + ], + [ + {'foo.0.name': 'baz' }, + [{foo:[{ name: 'bar' }, { name: 'baz' }]}, {foo:[{ name: 'baz' }, { name: 'bar' }]}], + [{foo:[{ name: 'baz' }, { name: 'bar' }]}] + ], + + // object.toString() tests + [ + { $in: [{ toString: function(){ return 'a'; }}]}, + [{toString: function(){ return 'a'; }}, {toString: function(){ return 'b' }}], + [{toString: function(){ return 'a'; }}] + ], + [ + { $in: [{}]}, + [{}, {}], + [] + ], + + // various comparisons + [ + { c: { d: 'd' }}, + [{ a: 'b', b: 'c', c: { d: 'd', e: 'e' }}, { c: { d: 'e' }}], + [{ a: 'b', b: 'c', c: { d: 'd', e: 'e' }}] + ], + + // based on https://gist.github.com/jdnichollsc/00ea8cf1204b17d9fb9a991fbd1dfee6 + [ + { $and: [{ 'a.s': { $lte: new Date('2017-01-29T05:00:00.000Z') }}, {'a.e': { $gte: new Date('2017-01-08T05:00:00.000Z') }}]}, + [{ a: { s: new Date('2017-01-13T05:00:00.000Z'), e: new Date('2017-01-31T05:00:00.000Z') }}], + [{ a: { s: new Date('2017-01-13T05:00:00.000Z'), e: new Date('2017-01-31T05:00:00.000Z') }}] + ], + + ].forEach(function (operation, i) { + + var filter = operation[0]; + var array = operation[1]; + var matchArray = operation[2]; + + it(i + ': ' + JSON.stringify(filter), function() { + assert.equal(JSON.stringify(array.filter(sift(filter))), JSON.stringify(matchArray)); + }); + }); +}); diff --git a/node_modules/sift/tsconfig.json b/node_modules/sift/tsconfig.json new file mode 100644 index 0000000..361020d --- /dev/null +++ b/node_modules/sift/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "target": "es6", + "moduleResolution": "node", + "module": "commonjs", + "allowSyntheticDefaultImports": true + } +} \ No newline at end of file diff --git a/node_modules/sift/webpack.config.js b/node_modules/sift/webpack.config.js new file mode 100644 index 0000000..4f08ab5 --- /dev/null +++ b/node_modules/sift/webpack.config.js @@ -0,0 +1,23 @@ +const {resolve} = require('path'); +const fs = require('fs'); + +module.exports = { + devtool: 'none', + mode: 'production', + entry: { + index: [__dirname + '/lib/index.js'] + }, + output: { + path: __dirname, + library: 'sift', + libraryTarget: 'umd', + filename: 'sift.min.js' + }, + resolve: { + extensions: ['.js'] + }, + module: { + rules: [ + ] + } +}; \ No newline at end of file diff --git a/node_modules/sift/yarn.lock b/node_modules/sift/yarn.lock new file mode 100644 index 0000000..09c676f --- /dev/null +++ b/node_modules/sift/yarn.lock @@ -0,0 +1,4016 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@webassemblyjs/ast@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.8.tgz#f31f480debeef957f01b623f27eabc695fa4fe8f" + dependencies: + "@webassemblyjs/helper-module-context" "1.7.8" + "@webassemblyjs/helper-wasm-bytecode" "1.7.8" + "@webassemblyjs/wast-parser" "1.7.8" + +"@webassemblyjs/floating-point-hex-parser@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz#1b3ed0e27e384032254e9322fc646dd3e70ef1b9" + +"@webassemblyjs/helper-api-error@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz#a2b49c11f615e736f815ec927f035dcfa690d572" + +"@webassemblyjs/helper-buffer@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz#3fc66bfa09c1c60e824cf3d5887826fac062877d" + +"@webassemblyjs/helper-code-frame@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz#cc5a7e9522b70e7580df056dfd34020cf29645b0" + dependencies: + "@webassemblyjs/wast-printer" "1.7.8" + +"@webassemblyjs/helper-fsm@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz#fe4607430af466912797c21acafd3046080182ea" + +"@webassemblyjs/helper-module-context@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz#3c2e7ee93d14ff4768ba66fb1be42fdc9dc7160a" + +"@webassemblyjs/helper-wasm-bytecode@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz#89bdb78cd6dd5209ae2ed2925de78d0f0e00b6f0" + +"@webassemblyjs/helper-wasm-section@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz#c68ef7d26a6fc12421b2e6e56f9bc810dfb33e87" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-buffer" "1.7.8" + "@webassemblyjs/helper-wasm-bytecode" "1.7.8" + "@webassemblyjs/wasm-gen" "1.7.8" + +"@webassemblyjs/ieee754@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz#1f37974b13cb486a9237e73ce04cac7a2f1265ed" + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.8.tgz#1bee83426819192db2ea1a234b84c7ebc6d34c1f" + dependencies: + "@xtuc/long" "4.2.1" + +"@webassemblyjs/utf8@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.8.tgz#2b489d5cf43e0aebb93d8e2d792aff9879c61f05" + +"@webassemblyjs/wasm-edit@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz#f8bdbe7088718eca27b1c349bb7c06b8a457950c" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-buffer" "1.7.8" + "@webassemblyjs/helper-wasm-bytecode" "1.7.8" + "@webassemblyjs/helper-wasm-section" "1.7.8" + "@webassemblyjs/wasm-gen" "1.7.8" + "@webassemblyjs/wasm-opt" "1.7.8" + "@webassemblyjs/wasm-parser" "1.7.8" + "@webassemblyjs/wast-printer" "1.7.8" + +"@webassemblyjs/wasm-gen@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz#7e8abf1545eae74ac6781d545c034af3cfd0c7d5" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-wasm-bytecode" "1.7.8" + "@webassemblyjs/ieee754" "1.7.8" + "@webassemblyjs/leb128" "1.7.8" + "@webassemblyjs/utf8" "1.7.8" + +"@webassemblyjs/wasm-opt@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz#7ada6e211914728fce02ff0ff9c344edc6d41f26" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-buffer" "1.7.8" + "@webassemblyjs/wasm-gen" "1.7.8" + "@webassemblyjs/wasm-parser" "1.7.8" + +"@webassemblyjs/wasm-parser@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz#dac47c291fb6a3e63529aecd647592cd34afbf94" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-api-error" "1.7.8" + "@webassemblyjs/helper-wasm-bytecode" "1.7.8" + "@webassemblyjs/ieee754" "1.7.8" + "@webassemblyjs/leb128" "1.7.8" + "@webassemblyjs/utf8" "1.7.8" + +"@webassemblyjs/wast-parser@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz#f8aab9a450c048c1f9537695c89faeb92fabfba5" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/floating-point-hex-parser" "1.7.8" + "@webassemblyjs/helper-api-error" "1.7.8" + "@webassemblyjs/helper-code-frame" "1.7.8" + "@webassemblyjs/helper-fsm" "1.7.8" + "@xtuc/long" "4.2.1" + +"@webassemblyjs/wast-printer@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz#e7e965782c1912f6a965f14a53ff43d8ad0403a5" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/wast-parser" "1.7.8" + "@xtuc/long" "4.2.1" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + +"@xtuc/long@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +acorn-dynamic-import@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" + dependencies: + acorn "^5.0.0" + +acorn@^5.0.0, acorn@^5.6.2: + version "5.7.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + +ajv-keywords@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" + +ajv@^5.3.0: + version "5.5.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +ajv@^6.1.0: + version "6.5.4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.4.tgz#247d5274110db653706b550fcc2b797ca28cfc59" + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + dependencies: + color-convert "^1.9.0" + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async@1.x: + version "1.5.2" + resolved "http://registry.npmjs.org/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^2.5.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" + dependencies: + lodash "^4.17.10" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + +babel-cli@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" + dependencies: + babel-core "^6.26.0" + babel-polyfill "^6.26.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + commander "^2.11.0" + convert-source-map "^1.5.0" + fs-readdir-recursive "^1.0.0" + glob "^7.1.2" + lodash "^4.17.4" + output-file-sync "^1.1.2" + path-is-absolute "^1.0.1" + slash "^1.0.0" + source-map "^0.5.6" + v8flags "^2.1.1" + optionalDependencies: + chokidar "^1.6.1" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.26.0, babel-core@^6.26.3: + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-regenerator@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + dependencies: + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" + +babel-preset-es2015-loose@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2015-loose/-/babel-preset-es2015-loose-8.0.0.tgz#82ee293ab31329c7a94686b644b62adfbcdc3f57" + dependencies: + modify-babel-preset "^3.1.0" + +babel-preset-es2015@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babel@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel/-/babel-6.23.0.tgz#d0d1e7d803e974765beea3232d4e153c0efb90f4" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-js@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + dependencies: + tweetnacl "^0.14.3" + +benchmark@^1.0.0: + version "1.0.0" + resolved "http://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz#2f1e2fa4c359f11122aa183082218e957e390c73" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + +binary-extensions@^1.0.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" + +bluebird@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz#1be0908e054a751754549c270489c1505d4ab15a" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.0, braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + dependencies: + pako "~1.0.5" + +bson@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/bson/-/bson-3.0.2.tgz#2467a76507a98c63ce34072f9965f4024e753dfc" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^4.3.0: + version "4.9.1" + resolved "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +cacache@^10.0.4: + version "10.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" + dependencies: + bluebird "^3.5.1" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^2.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.2" + ssri "^5.2.4" + unique-filename "^1.1.0" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +camelcase@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +chalk@^1.0.0, chalk@^1.1.3: + version "1.1.3" + resolved "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chokidar@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chokidar@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + lodash.debounce "^4.0.8" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.5" + optionalDependencies: + fsevents "^1.2.2" + +chownr@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" + +chrome-trace-event@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" + dependencies: + tslib "^1.9.0" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cliui@^3.0.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +combined-stream@1.0.6: + version "1.0.6" + resolved "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + +combined-stream@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" + dependencies: + delayed-stream "~1.0.0" + +commander@2.15.1: + version "2.15.1" + resolved "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + +commander@^2.11.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + +commander@~2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + +commander@~2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +configstore@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-0.3.2.tgz#25e4c16c3768abf75c5a65bc61761f495055b459" + dependencies: + graceful-fs "^3.0.1" + js-yaml "^3.1.0" + mkdirp "^0.5.0" + object-assign "^2.0.0" + osenv "^0.1.0" + user-home "^1.0.0" + uuid "^2.0.1" + xdg-basedir "^1.0.0" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +convert-source-map@^1.5.0, convert-source-map@^1.5.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + dependencies: + safe-buffer "~5.1.1" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +coveralls@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.0.2.tgz#f5a0bcd90ca4e64e088b710fa8dda640aea4884f" + dependencies: + growl "~> 1.10.0" + js-yaml "^3.11.0" + lcov-parse "^0.0.10" + log-driver "^1.2.7" + minimist "^1.2.0" + request "^2.85.0" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.7" + resolved "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +cyclist@~0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +debug@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +decamelize@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decamelize@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" + dependencies: + xregexp "4.0.0" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +diff@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + +duplexify@^3.2.0, duplexify@^3.4.2, duplexify@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +elliptic@^6.0.0: + version "6.4.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + tapable "^1.0.0" + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + dependencies: + prr "~1.0.1" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + +eslint-scope@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +esprima@2.7.x, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + dependencies: + estraverse "^4.1.0" + +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + +estraverse@^4.1.0, estraverse@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +event-stream@~0.5: + version "0.5.3" + resolved "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz#b77b9309f7107addfeab63f0c0eafd8db0bd8c1c" + dependencies: + optimist "0.2" + +events@^1.0.0: + version "1.1.1" + resolved "http://registry.npmjs.org/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" + dependencies: + cross-spawn "^6.0.0" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + dependencies: + locate-path "^3.0.0" + +flush-write-stream@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.4" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" + dependencies: + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + dependencies: + minipass "^2.2.1" + +fs-readdir-recursive@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0, fsevents@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + +get-stream@^3.0.0: + version "3.0.0" + resolved "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob@7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.5, glob@^7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules-path@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.0.tgz#b0e2bac6beac39745f7db5c59d26a36a0b94f7dc" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +got@^3.2.0: + version "3.3.1" + resolved "http://registry.npmjs.org/got/-/got-3.3.1.tgz#e5d0ed4af55fc3eef4d56007769d98192bcb2eca" + dependencies: + duplexify "^3.2.0" + infinity-agent "^2.0.0" + is-redirect "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + nested-error-stacks "^1.0.0" + object-assign "^3.0.0" + prepend-http "^1.0.0" + read-all-stream "^3.0.0" + timed-out "^2.0.0" + +graceful-fs@^3.0.1: + version "3.0.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" + dependencies: + natives "^1.1.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +growl@1.10.5, "growl@~> 1.10.0": + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + +handlebars@^4.0.1: + version "4.0.12" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5" + dependencies: + async "^2.5.0" + optimist "^0.6.1" + source-map "^0.6.1" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.0.tgz#44657f5688a22cfd4b72486e81b3a3fb11742c29" + dependencies: + ajv "^5.3.0" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + +iconv-lite@^0.4.4: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.4: + version "1.1.12" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + dependencies: + minimatch "^3.0.4" + +immutable@^3.7.6: + version "3.8.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +infinity-agent@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +interpret@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + +is-npm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + +is-stream@^1.0.0, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@3.x, js-yaml@^3.1.0, js-yaml@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + +latest-version@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb" + dependencies: + package-json "^1.0.0" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + dependencies: + invert-kv "^2.0.0" + +lcov-parse@^0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +loader-runner@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.1.tgz#026f12fe7c3115992896ac02ba022ba92971b979" + +loader-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + +lodash@^4.17.10, lodash@^4.17.4: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + +log-driver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +lru-cache@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + dependencies: + pify "^3.0.0" + +map-age-cleaner@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz#098fb15538fd3dbe461f12745b0ca8568d4e3f74" + dependencies: + p-defer "^1.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + +math-random@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mem@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^1.0.0" + p-is-promise "^1.1.0" + +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +micromatch@^2.1.5: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@~1.36.0: + version "1.36.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.36.0.tgz#5020478db3c7fe93aad7bbcc4dcf869c43363397" + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.20" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.20.tgz#930cb719d571e903738520f8470911548ca2cc19" + dependencies: + mime-db "~1.36.0" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimatch@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimist@0.0.8: + version "0.0.8" + resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.2.0: + version "1.2.0" + resolved "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@~0.0.1: + version "0.0.10" + resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minipass@^2.2.1, minipass@^2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.4.tgz#4768d7605ed6194d6d576169b9e12ef71e9d9957" + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.1.tgz#6734acc045a46e61d596a43bb9d9cd326e19cc42" + dependencies: + minipass "^2.2.1" + +mississippi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^2.0.1" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: + version "0.5.1" + resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" + dependencies: + browser-stdout "1.3.1" + commander "2.15.1" + debug "3.1.0" + diff "3.5.0" + escape-string-regexp "1.0.5" + glob "7.1.2" + growl "1.10.5" + he "1.1.1" + minimatch "3.0.4" + mkdirp "0.5.1" + supports-color "5.4.0" + +modify-babel-preset@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/modify-babel-preset/-/modify-babel-preset-3.2.1.tgz#d7172aa3c0822ed3fc08e308fd0971295136ab50" + dependencies: + require-relative "^0.8.7" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +nan@^2.9.2: + version "2.11.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natives@^1.1.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" + +needle@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +neo-async@^2.5.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.2.tgz#489105ce7bc54e709d736b195f82135048c50fcc" + +nested-error-stacks@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz#19f619591519f096769a5ba9a86e6eeec823c3cf" + dependencies: + inherits "~2.0.1" + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + +nodangel@^1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/nodangel/-/nodangel-1.3.8.tgz#45627cb996679cef63d1e3f6f899d856d0df1956" + dependencies: + minimatch "~0.3.0" + ps-tree "~0.0.3" + touch "~0.0.3" + update-notifier "^0.3.0" + +node-libs-browser@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.0" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-pre-gyp@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +nopt@3.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + dependencies: + abbrev "1" + +normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +npm-bundled@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" + +npm-packlist@^1.1.6: + version "1.1.12" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a" + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + +object-assign@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + +once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +optimist@0.2: + version "0.2.8" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.2.8.tgz#e981ab7e268b457948593b55674c099a815cac31" + dependencies: + wordwrap ">=0.0.1 <0.1.0" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-locale@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.0.1.tgz#3b014fbf01d87f60a1e5348d80fe870dc82c4620" + dependencies: + execa "^0.10.0" + lcid "^2.0.0" + mem "^4.0.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.0, osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +output-file-sync@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + dependencies: + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-is-promise@^1.1.0: + version "1.1.0" + resolved "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec" + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + dependencies: + p-limit "^2.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + +p-try@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" + +package-json@^1.0.0: + version "1.2.0" + resolved "http://registry.npmjs.org/package-json/-/package-json-1.2.0.tgz#c8ecac094227cdf76a316874ed05e27cc939a0e0" + dependencies: + got "^3.2.0" + registry-url "^3.0.0" + +pako@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" + +parallel-transform@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" + dependencies: + cyclist "~0.2.2" + inherits "^2.0.3" + readable-stream "^2.1.5" + +parse-asn1@^5.0.0: + version "5.1.1" + resolved "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +pbkdf2@^3.0.3: + version "3.0.17" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + dependencies: + find-up "^3.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +private@^0.1.6, private@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + +ps-tree@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-0.0.3.tgz#dbf8d752a7fe22fa7d58635689499610e9276ddc" + dependencies: + event-stream "~0.5" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +psl@^1.1.24: + version "1.1.29" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0, pump@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +randomatic@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116" + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +rc@^1.0.1, rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-all-stream@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" + dependencies: + pinkie-promise "^2.0.0" + readable-stream "^2.0.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6: + version "2.3.6" + resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +regenerate@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + +regenerator-runtime@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +registry-url@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + dependencies: + rc "^1.0.1" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request@^2.85.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +require-relative@^0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@1.1.x: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + +rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + dependencies: + aproba "^1.1.1" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +schema-utils@^0.4.4, schema-utils@^0.4.5: + version "0.4.7" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + dependencies: + semver "^5.0.3" + +semver@^5.0.3, semver@^5.3.0, semver@^5.5.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + +serialize-javascript@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + +source-map@^0.5.6, source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + dependencies: + amdefine ">=0.0.4" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + safer-buffer "^2.0.2" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +ssri@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" + dependencies: + safe-buffer "^5.1.1" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + +string-length@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" + dependencies: + strip-ansi "^3.0.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@^1.0.0, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" + dependencies: + has-flag "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0, supports-color@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + dependencies: + has-flag "^3.0.0" + +tapable@^1.0.0, tapable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.0.tgz#0d076a172e3d9ba088fd2272b2668fb8d194b78c" + +tar@^4: + version "4.4.6" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b" + dependencies: + chownr "^1.0.1" + fs-minipass "^1.2.5" + minipass "^2.3.3" + minizlib "^1.1.0" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +through2@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +timed-out@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a" + +timers-browserify@^2.0.4: + version "2.0.10" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + dependencies: + setimmediate "^1.0.4" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +touch@~0.0.3: + version "0.0.4" + resolved "https://registry.yarnpkg.com/touch/-/touch-0.0.4.tgz#fc1a7103cbe0ecee713d1384d775e2f9e21caae2" + dependencies: + nopt "~1.0.10" + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tslib@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +uglify-es@^3.3.4: + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" + dependencies: + commander "~2.13.0" + source-map "~0.6.1" + +uglify-js@^3.1.4: + version "3.4.9" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" + dependencies: + commander "~2.17.1" + source-map "~0.6.1" + +uglifyjs-webpack-plugin@^1.2.4: + version "1.3.0" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz#75f548160858163a08643e086d5fefe18a5d67de" + dependencies: + cacache "^10.0.4" + find-cache-dir "^1.0.0" + schema-utils "^0.4.5" + serialize-javascript "^1.4.0" + source-map "^0.6.1" + uglify-es "^3.3.4" + webpack-sources "^1.1.0" + worker-farm "^1.5.2" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +unique-filename@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" + dependencies: + imurmurhash "^0.1.4" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + +update-notifier@^0.3.0: + version "0.3.2" + resolved "http://registry.npmjs.org/update-notifier/-/update-notifier-0.3.2.tgz#22a8735baadef3320e2db928f693da898dc87777" + dependencies: + chalk "^1.0.0" + configstore "^0.3.1" + is-npm "^1.0.0" + latest-version "^1.0.0" + semver-diff "^2.0.0" + string-length "^1.0.0" + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + +user-home@^1.0.0, user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +util@^0.10.3: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + dependencies: + inherits "2.0.3" + +uuid@^2.0.1: + version "2.0.3" + resolved "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + +v8-compile-cache@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c" + +v8flags@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + dependencies: + user-home "^1.1.1" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +watchpack@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + dependencies: + chokidar "^2.0.2" + graceful-fs "^4.1.2" + neo-async "^2.5.0" + +webpack-cli@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.1.2.tgz#17d7e01b77f89f884a2bbf9db545f0f6a648e746" + dependencies: + chalk "^2.4.1" + cross-spawn "^6.0.5" + enhanced-resolve "^4.1.0" + global-modules-path "^2.3.0" + import-local "^2.0.0" + interpret "^1.1.0" + loader-utils "^1.1.0" + supports-color "^5.5.0" + v8-compile-cache "^2.0.2" + yargs "^12.0.2" + +webpack-sources@^1.1.0, webpack-sources@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^4.20.2: + version "4.20.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.20.2.tgz#89f6486b6bb276a91b0823453d377501fc625b5a" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-module-context" "1.7.8" + "@webassemblyjs/wasm-edit" "1.7.8" + "@webassemblyjs/wasm-parser" "1.7.8" + acorn "^5.6.2" + acorn-dynamic-import "^3.0.0" + ajv "^6.1.0" + ajv-keywords "^3.1.0" + chrome-trace-event "^1.0.0" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.0" + json-parse-better-errors "^1.0.2" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + micromatch "^3.1.8" + mkdirp "~0.5.0" + neo-async "^2.5.0" + node-libs-browser "^2.0.0" + schema-utils "^0.4.4" + tapable "^1.1.0" + uglifyjs-webpack-plugin "^1.2.4" + watchpack "^1.5.0" + webpack-sources "^1.3.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@^1.1.1, which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + dependencies: + string-width "^1.0.2 || 2" + +window-size@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" + +"wordwrap@>=0.0.1 <0.1.0", wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wordwrap@^1.0.0, wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +worker-farm@^1.5.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" + dependencies: + errno "~0.1.7" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +xdg-basedir@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-1.0.1.tgz#14ff8f63a4fdbcb05d5b6eea22b36f3033b9f04e" + dependencies: + user-home "^1.0.0" + +xregexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + +yargs-parser@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + dependencies: + camelcase "^4.1.0" + +yargs@^12.0.2: + version "12.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" + dependencies: + cliui "^4.0.0" + decamelize "^2.0.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^10.1.0" + +yargs@^3.15.0: + version "3.32.0" + resolved "http://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" + dependencies: + camelcase "^2.0.1" + cliui "^3.0.3" + decamelize "^1.1.1" + os-locale "^1.4.0" + string-width "^1.0.1" + window-size "^0.1.4" + y18n "^3.2.0" -- cgit v1.2.3