diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..2350556 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +node_modules +coverage +dist +types \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..ede62aa --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,72 @@ +const resolve = require('./resolve.config'); + +module.exports = { + extends: ['plugin:@typescript-eslint/recommended', 'plugin:react/recommended', 'airbnb', 'prettier'], + env: { + browser: true, + es2020: true, + node: true, + jest: true, + }, + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + ecmaVersion: 11, + sourceType: 'module', + }, + settings: { + 'import/resolver': { + node: { + extensions: resolve.extensions, + moduleDirectory: resolve.directories, + }, + }, + }, + plugins: ['prettier', 'json', 'react', 'jest', 'import', '@typescript-eslint'], + rules: { + 'func-names': 'off', + 'no-plusplus': 'off', + 'no-continue': 'off', + 'no-param-reassign': 'off', + 'no-nested-ternary': 'off', + 'no-console': ['error', { allow: ['warn', 'error'] }], + 'no-empty': ['error', { allowEmptyCatch: true }], + 'no-cond-assign': ['error', 'except-parens'], + camelcase: ['error', { allow: ['^__', '^UNSAFE_'] }], + 'consistent-return': 'off', + 'import/prefer-default-export': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-var-requires': 'off', + }, + overrides: [ + { + files: ['*.test.*'], + rules: { + 'no-restricted-syntax': 'off', + 'no-param-reassign': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/ban-types': 'off', + 'no-console': 'off', + 'consistent-return': 'off', + 'symbol-description': 'off', + 'no-new-wrappers': 'off', + 'no-prototype-builtins': 'off', + 'no-void': 'off', + 'no-empty-function': 'off', + 'no-new-func': 'off', + }, + }, + { + files: ['rollup.config.*'], + rules: { + 'no-console': 'off', + }, + }, + ], +}; diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 8daac38..db2618b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -4,7 +4,6 @@ about: Create a report to help improve OverlayScrollbars title: '' labels: '' assignees: '' - --- **Describe the bug** @@ -12,6 +11,7 @@ A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: + 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' @@ -21,12 +21,13 @@ Steps to reproduce the behavior: A clear and concise description of what you expected to happen. **Examples** -Please create a small example of the bug. +Please create a small example of the bug. To do this you can use online platforms like [JSFiddle](https://jsfiddle.net/), [CodeSandbox](https://codesandbox.io/) or [StackBlitz](https://stackblitz.com/). You can also create a separate Github repository which I can clone. **Environment** - - Used Operating System(s): - - Used Browser(s) (with version): + +- Used Operating System(s): +- Used Browser(s) (with version): **Additional context** Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index bbcbbe7..2f28cea 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -4,7 +4,6 @@ about: Suggest an idea for this project title: '' labels: '' assignees: '' - --- **Is your feature request related to a problem? Please describe.** diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..2350556 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +node_modules +coverage +dist +types \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..25786c4 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "printWidth": 150, + "tabWidth": 2, + "singleQuote": true, + "trailingComma": "all", + "jsxBracketSameLine": true +} diff --git a/babel.config.js b/babel.config.js index 812ee79..747fa19 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,16 +1,14 @@ module.exports = { - "plugins": [ - "@babel/plugin-transform-modules-commonjs" + plugins: ['@babel/plugin-transform-modules-commonjs'], + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, ], - "presets": [ - [ - "@babel/preset-env", - { - "targets": { - "node": "current" - } - } - ], - "@babel/preset-typescript" - ] -}; \ No newline at end of file + '@babel/preset-typescript', + ], +}; diff --git a/coverage/clover.xml b/coverage/clover.xml index eba5a90..2d20154 100644 --- a/coverage/clover.xml +++ b/coverage/clover.xml @@ -1,11 +1,11 @@ - - - + + + - - - + + + @@ -15,18 +15,17 @@ - - + + - - - + + + - - - + + - + @@ -45,354 +44,341 @@ - - - - - - - + + + + + + + + - - - + + + - - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - + + + + + - - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - - - - - - + + + + + + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + - - - - - - + + + + + + + - - - + + + - + - - - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + - + - + - - - - - - + + + + + + - + - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + - + - - - - + + + - - - - - - - + + + + + + diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json index cc8b81f..aa178d4 100644 --- a/coverage/coverage-final.json +++ b/coverage/coverage-final.json @@ -1,19 +1,19 @@ -{"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\instances.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\instances.ts","statementMap":{"0":{"start":{"line":1,"column":30},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":49},"end":{"line":2,"column":62}},"2":{"start":{"line":9,"column":71},"end":{"line":12,"column":1}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":46}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":24}},"5":{"start":{"line":18,"column":57},"end":{"line":21,"column":1}},"6":{"start":{"line":19,"column":4},"end":{"line":19,"column":37}},"7":{"start":{"line":20,"column":4},"end":{"line":20,"column":27}},"8":{"start":{"line":27,"column":53},"end":{"line":29,"column":1}},"9":{"start":{"line":28,"column":4},"end":{"line":28,"column":41}},"10":{"start":{"line":35,"column":61},"end":{"line":52,"column":1}},"11":{"start":{"line":36,"column":54},"end":{"line":36,"column":63}},"12":{"start":{"line":38,"column":4},"end":{"line":43,"column":7}},"13":{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},"14":{"start":{"line":41,"column":12},"end":{"line":41,"column":77}},"15":{"start":{"line":45,"column":4},"end":{"line":45,"column":20}},"16":{"start":{"line":47,"column":4},"end":{"line":49,"column":7}},"17":{"start":{"line":48,"column":8},"end":{"line":48,"column":33}},"18":{"start":{"line":51,"column":4},"end":{"line":51,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":71},"end":{"line":9,"column":72}},"loc":{"start":{"line":9,"column":95},"end":{"line":12,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":57},"end":{"line":18,"column":58}},"loc":{"start":{"line":18,"column":69},"end":{"line":21,"column":1}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":53},"end":{"line":27,"column":54}},"loc":{"start":{"line":27,"column":65},"end":{"line":29,"column":1}},"line":27},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":61},"end":{"line":35,"column":62}},"loc":{"start":{"line":35,"column":67},"end":{"line":52,"column":1}},"line":35},"4":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":20},"end":{"line":38,"column":21}},"loc":{"start":{"line":38,"column":41},"end":{"line":43,"column":5}},"line":38},"5":{"name":"(anonymous_5)","decl":{"start":{"line":47,"column":35},"end":{"line":47,"column":36}},"loc":{"start":{"line":47,"column":76},"end":{"line":49,"column":5}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":42,"column":9}}],"line":40}},"s":{"0":1,"1":1,"2":1,"3":3,"4":3,"5":1,"6":4,"7":4,"8":1,"9":1,"10":1,"11":2,"12":2,"13":1,"14":1,"15":2,"16":2,"17":1,"18":2},"f":{"0":3,"1":4,"2":1,"3":2,"4":1,"5":1},"b":{"0":[1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"66efe2806571526258d3ba2b437fc4f7b227aa2b"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\options.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\options.ts","statementMap":{"0":{"start":{"line":5,"column":68},"end":{"line":5,"column":96}},"1":{"start":{"line":6,"column":58},"end":{"line":6,"column":71}},"2":{"start":{"line":7,"column":71},"end":{"line":7,"column":100}},"3":{"start":{"line":8,"column":90},"end":{"line":8,"column":132}},"4":{"start":{"line":9,"column":69},"end":{"line":9,"column":91}},"5":{"start":{"line":10,"column":70},"end":{"line":10,"column":93}},"6":{"start":{"line":11,"column":70},"end":{"line":11,"column":108}},"7":{"start":{"line":12,"column":84},"end":{"line":12,"column":115}},"8":{"start":{"line":13,"column":96},"end":{"line":13,"column":141}},"9":{"start":{"line":14,"column":102},"end":{"line":14,"column":123}},"10":{"start":{"line":15,"column":98},"end":{"line":15,"column":122}},"11":{"start":{"line":32,"column":99},"end":{"line":78,"column":1}},"12":{"start":{"line":80,"column":85},"end":{"line":80,"column":128}},"13":{"start":{"line":81,"column":57},"end":{"line":81,"column":94}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c8f0402589a6aa71d19ec131f172f30bccb78bff"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\compatibility\\vendors.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\compatibility\\vendors.ts","statementMap":{"0":{"start":{"line":4,"column":52},"end":{"line":6,"column":1}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":54}},"2":{"start":{"line":7,"column":49},"end":{"line":9,"column":1}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":29}},"4":{"start":{"line":13,"column":50},"end":{"line":13,"column":86}},"5":{"start":{"line":14,"column":49},"end":{"line":14,"column":105}},"6":{"start":{"line":16,"column":47},"end":{"line":16,"column":49}},"7":{"start":{"line":17,"column":51},"end":{"line":17,"column":53}},"8":{"start":{"line":23,"column":65},"end":{"line":46,"column":1}},"9":{"start":{"line":24,"column":37},"end":{"line":24,"column":51}},"10":{"start":{"line":26,"column":4},"end":{"line":27,"column":22}},"11":{"start":{"line":27,"column":8},"end":{"line":27,"column":22}},"12":{"start":{"line":29,"column":35},"end":{"line":29,"column":59}},"13":{"start":{"line":30,"column":42},"end":{"line":30,"column":57}},"14":{"start":{"line":32,"column":4},"end":{"line":42,"column":7}},"15":{"start":{"line":33,"column":44},"end":{"line":33,"column":68}},"16":{"start":{"line":34,"column":51},"end":{"line":39,"column":9}},"17":{"start":{"line":40,"column":8},"end":{"line":40,"column":116}},"18":{"start":{"line":40,"column":73},"end":{"line":40,"column":114}},"19":{"start":{"line":41,"column":8},"end":{"line":41,"column":23}},"20":{"start":{"line":44,"column":4},"end":{"line":44,"column":28}},"21":{"start":{"line":45,"column":4},"end":{"line":45,"column":18}},"22":{"start":{"line":54,"column":107},"end":{"line":80,"column":1}},"23":{"start":{"line":55,"column":25},"end":{"line":55,"column":48}},"24":{"start":{"line":56,"column":37},"end":{"line":56,"column":51}},"25":{"start":{"line":58,"column":4},"end":{"line":59,"column":22}},"26":{"start":{"line":59,"column":8},"end":{"line":59,"column":22}},"27":{"start":{"line":61,"column":44},"end":{"line":61,"column":59}},"28":{"start":{"line":62,"column":41},"end":{"line":62,"column":58}},"29":{"start":{"line":63,"column":35},"end":{"line":63,"column":47}},"30":{"start":{"line":64,"column":38},"end":{"line":64,"column":62}},"31":{"start":{"line":66,"column":4},"end":{"line":76,"column":7}},"32":{"start":{"line":67,"column":8},"end":{"line":74,"column":11}},"33":{"start":{"line":68,"column":25},"end":{"line":68,"column":47}},"34":{"start":{"line":69,"column":12},"end":{"line":69,"column":72}},"35":{"start":{"line":70,"column":12},"end":{"line":73,"column":13}},"36":{"start":{"line":71,"column":16},"end":{"line":71,"column":30}},"37":{"start":{"line":72,"column":16},"end":{"line":72,"column":29}},"38":{"start":{"line":75,"column":8},"end":{"line":75,"column":23}},"39":{"start":{"line":78,"column":4},"end":{"line":78,"column":28}},"40":{"start":{"line":79,"column":4},"end":{"line":79,"column":18}},"41":{"start":{"line":86,"column":44},"end":{"line":99,"column":1}},"42":{"start":{"line":87,"column":22},"end":{"line":87,"column":51}},"43":{"start":{"line":89,"column":4},"end":{"line":90,"column":22}},"44":{"start":{"line":90,"column":8},"end":{"line":90,"column":22}},"45":{"start":{"line":92,"column":4},"end":{"line":95,"column":7}},"46":{"start":{"line":93,"column":8},"end":{"line":93,"column":69}},"47":{"start":{"line":94,"column":8},"end":{"line":94,"column":23}},"48":{"start":{"line":97,"column":4},"end":{"line":97,"column":27}},"49":{"start":{"line":98,"column":4},"end":{"line":98,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":52},"end":{"line":4,"column":53}},"loc":{"start":{"line":4,"column":61},"end":{"line":6,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":49},"end":{"line":7,"column":50}},"loc":{"start":{"line":7,"column":55},"end":{"line":9,"column":1}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":65},"end":{"line":23,"column":66}},"loc":{"start":{"line":23,"column":75},"end":{"line":46,"column":1}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":22},"end":{"line":32,"column":23}},"loc":{"start":{"line":32,"column":42},"end":{"line":42,"column":5}},"line":32},"4":{"name":"(anonymous_4)","decl":{"start":{"line":40,"column":42},"end":{"line":40,"column":43}},"loc":{"start":{"line":40,"column":73},"end":{"line":40,"column":114}},"line":40},"5":{"name":"(anonymous_5)","decl":{"start":{"line":54,"column":107},"end":{"line":54,"column":108}},"loc":{"start":{"line":54,"column":137},"end":{"line":80,"column":1}},"line":54},"6":{"name":"(anonymous_6)","decl":{"start":{"line":66,"column":24},"end":{"line":66,"column":25}},"loc":{"start":{"line":66,"column":51},"end":{"line":76,"column":5}},"line":66},"7":{"name":"(anonymous_7)","decl":{"start":{"line":67,"column":40},"end":{"line":67,"column":41}},"loc":{"start":{"line":67,"column":60},"end":{"line":74,"column":9}},"line":67},"8":{"name":"(anonymous_8)","decl":{"start":{"line":86,"column":44},"end":{"line":86,"column":45}},"loc":{"start":{"line":86,"column":54},"end":{"line":99,"column":1}},"line":86},"9":{"name":"(anonymous_9)","decl":{"start":{"line":92,"column":21},"end":{"line":92,"column":22}},"loc":{"start":{"line":92,"column":41},"end":{"line":95,"column":5}},"line":92}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":4},"end":{"line":27,"column":22}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":27,"column":22}},{"start":{"line":26,"column":4},"end":{"line":27,"column":22}}],"line":26},"1":{"loc":{"start":{"line":58,"column":4},"end":{"line":59,"column":22}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":59,"column":22}},{"start":{"line":58,"column":4},"end":{"line":59,"column":22}}],"line":58},"2":{"loc":{"start":{"line":63,"column":35},"end":{"line":63,"column":47}},"type":"binary-expr","locations":[{"start":{"line":63,"column":35},"end":{"line":63,"column":41}},{"start":{"line":63,"column":45},"end":{"line":63,"column":47}}],"line":63},"3":{"loc":{"start":{"line":70,"column":12},"end":{"line":73,"column":13}},"type":"if","locations":[{"start":{"line":70,"column":12},"end":{"line":73,"column":13}},{"start":{"line":70,"column":12},"end":{"line":73,"column":13}}],"line":70},"4":{"loc":{"start":{"line":87,"column":22},"end":{"line":87,"column":51}},"type":"binary-expr","locations":[{"start":{"line":87,"column":22},"end":{"line":87,"column":35}},{"start":{"line":87,"column":39},"end":{"line":87,"column":51}}],"line":87},"5":{"loc":{"start":{"line":89,"column":4},"end":{"line":90,"column":22}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":90,"column":22}},{"start":{"line":89,"column":4},"end":{"line":90,"column":22}}],"line":89},"6":{"loc":{"start":{"line":93,"column":17},"end":{"line":93,"column":68}},"type":"binary-expr","locations":[{"start":{"line":93,"column":17},"end":{"line":93,"column":23}},{"start":{"line":93,"column":27},"end":{"line":93,"column":68}}],"line":93}},"s":{"0":1,"1":20,"2":1,"3":10,"4":1,"5":1,"6":1,"7":1,"8":1,"9":4,"10":4,"11":1,"12":3,"13":3,"14":3,"15":9,"16":9,"17":9,"18":33,"19":9,"20":3,"21":3,"22":1,"23":11,"24":11,"25":11,"26":4,"27":7,"28":7,"29":7,"30":7,"31":7,"32":10,"33":42,"34":42,"35":42,"36":2,"37":2,"38":10,"39":7,"40":7,"41":1,"42":5,"43":5,"44":1,"45":4,"46":11,"47":11,"48":4,"49":4},"f":{"0":20,"1":10,"2":4,"3":9,"4":33,"5":11,"6":10,"7":42,"8":5,"9":11},"b":{"0":[1,3],"1":[4,7],"2":[7,5],"3":[2,40],"4":[5,4],"5":[1,4],"6":[11,8]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a360da637dd83555af36c30463ea61a21f68e911"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\attributes.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\attributes.ts","statementMap":{"0":{"start":{"line":8,"column":94},"end":{"line":12,"column":1}},"1":{"start":{"line":9,"column":4},"end":{"line":10,"column":42}},"2":{"start":{"line":10,"column":8},"end":{"line":10,"column":42}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":38}},"4":{"start":{"line":19,"column":68},"end":{"line":21,"column":1}},"5":{"start":{"line":20,"column":4},"end":{"line":20,"column":34}},"6":{"start":{"line":28,"column":79},"end":{"line":32,"column":1}},"7":{"start":{"line":29,"column":4},"end":{"line":30,"column":30}},"8":{"start":{"line":30,"column":8},"end":{"line":30,"column":30}},"9":{"start":{"line":31,"column":4},"end":{"line":31,"column":27}},"10":{"start":{"line":39,"column":78},"end":{"line":43,"column":1}},"11":{"start":{"line":40,"column":4},"end":{"line":41,"column":29}},"12":{"start":{"line":41,"column":8},"end":{"line":41,"column":29}},"13":{"start":{"line":42,"column":4},"end":{"line":42,"column":26}},"14":{"start":{"line":50,"column":77},"end":{"line":54,"column":1}},"15":{"start":{"line":51,"column":4},"end":{"line":52,"column":25}},"16":{"start":{"line":52,"column":8},"end":{"line":52,"column":25}},"17":{"start":{"line":53,"column":4},"end":{"line":53,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":94},"end":{"line":8,"column":95}},"loc":{"start":{"line":8,"column":120},"end":{"line":12,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":68},"end":{"line":19,"column":69}},"loc":{"start":{"line":19,"column":87},"end":{"line":21,"column":1}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":79},"end":{"line":28,"column":80}},"loc":{"start":{"line":28,"column":95},"end":{"line":32,"column":1}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":78},"end":{"line":39,"column":79}},"loc":{"start":{"line":39,"column":94},"end":{"line":43,"column":1}},"line":39},"4":{"name":"(anonymous_4)","decl":{"start":{"line":50,"column":77},"end":{"line":50,"column":78}},"loc":{"start":{"line":50,"column":93},"end":{"line":54,"column":1}},"line":50}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":4},"end":{"line":10,"column":42}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":10,"column":42}},{"start":{"line":9,"column":4},"end":{"line":10,"column":42}}],"line":9},"1":{"loc":{"start":{"line":29,"column":4},"end":{"line":30,"column":30}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":30,"column":30}},{"start":{"line":29,"column":4},"end":{"line":30,"column":30}}],"line":29},"2":{"loc":{"start":{"line":40,"column":4},"end":{"line":41,"column":29}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":41,"column":29}},{"start":{"line":40,"column":4},"end":{"line":41,"column":29}}],"line":40},"3":{"loc":{"start":{"line":51,"column":4},"end":{"line":52,"column":25}},"type":"if","locations":[{"start":{"line":51,"column":4},"end":{"line":52,"column":25}},{"start":{"line":51,"column":4},"end":{"line":52,"column":25}}],"line":51}},"s":{"0":4,"1":7,"2":5,"3":2,"4":4,"5":1,"6":4,"7":3,"8":2,"9":1,"10":4,"11":3,"12":2,"13":1,"14":4,"15":5,"16":3,"17":2},"f":{"0":7,"1":1,"2":3,"3":3,"4":5},"b":{"0":[5,2],"1":[2,1],"2":[2,1],"3":[3,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e75096052c887d7f39b39949185c1df5c069ebcf"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\classes.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\classes.ts","statementMap":{"0":{"start":{"line":3,"column":31},"end":{"line":3,"column":50}},"1":{"start":{"line":10,"column":70},"end":{"line":12,"column":1}},"2":{"start":{"line":11,"column":4},"end":{"line":11,"column":45}},"3":{"start":{"line":19,"column":67},"end":{"line":28,"column":1}},"4":{"start":{"line":21,"column":20},"end":{"line":21,"column":21}},"5":{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},"6":{"start":{"line":24,"column":39},"end":{"line":24,"column":75}},"7":{"start":{"line":25,"column":8},"end":{"line":26,"column":37}},"8":{"start":{"line":26,"column":12},"end":{"line":26,"column":37}},"9":{"start":{"line":35,"column":70},"end":{"line":44,"column":1}},"10":{"start":{"line":37,"column":20},"end":{"line":37,"column":21}},"11":{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},"12":{"start":{"line":40,"column":39},"end":{"line":40,"column":75}},"13":{"start":{"line":41,"column":8},"end":{"line":42,"column":40}},"14":{"start":{"line":42,"column":12},"end":{"line":42,"column":40}},"15":{"start":{"line":52,"column":95},"end":{"line":59,"column":1}},"16":{"start":{"line":53,"column":4},"end":{"line":58,"column":5}},"17":{"start":{"line":54,"column":8},"end":{"line":54,"column":33}},"18":{"start":{"line":57,"column":8},"end":{"line":57,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":70},"end":{"line":10,"column":71}},"loc":{"start":{"line":10,"column":90},"end":{"line":12,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":67},"end":{"line":19,"column":68}},"loc":{"start":{"line":19,"column":87},"end":{"line":28,"column":1}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":70},"end":{"line":35,"column":71}},"loc":{"start":{"line":35,"column":90},"end":{"line":44,"column":1}},"line":35},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":95},"end":{"line":52,"column":96}},"loc":{"start":{"line":52,"column":126},"end":{"line":59,"column":1}},"line":52}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},{"start":{"line":23,"column":4},"end":{"line":27,"column":5}}],"line":23},"1":{"loc":{"start":{"line":24,"column":39},"end":{"line":24,"column":75}},"type":"binary-expr","locations":[{"start":{"line":24,"column":39},"end":{"line":24,"column":69}},{"start":{"line":24,"column":73},"end":{"line":24,"column":75}}],"line":24},"2":{"loc":{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},{"start":{"line":39,"column":4},"end":{"line":43,"column":5}}],"line":39},"3":{"loc":{"start":{"line":40,"column":39},"end":{"line":40,"column":75}},"type":"binary-expr","locations":[{"start":{"line":40,"column":39},"end":{"line":40,"column":69}},{"start":{"line":40,"column":73},"end":{"line":40,"column":75}}],"line":40},"4":{"loc":{"start":{"line":53,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":58,"column":5}},{"start":{"line":53,"column":4},"end":{"line":58,"column":5}}],"line":53}},"s":{"0":4,"1":4,"2":7,"3":4,"4":11,"5":11,"6":9,"7":9,"8":11,"9":4,"10":7,"11":7,"12":5,"13":5,"14":6,"15":4,"16":4,"17":2,"18":2},"f":{"0":7,"1":11,"2":7,"3":4},"b":{"0":[9,2],"1":[9,1],"2":[5,2],"3":[5,1],"4":[2,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ce6fc466663404930e3023c1e6a28a8f026275a4"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\create.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\create.ts","statementMap":{"0":{"start":{"line":5,"column":47},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":41}},"2":{"start":{"line":9,"column":64},"end":{"line":14,"column":1}},"3":{"start":{"line":10,"column":16},"end":{"line":10,"column":27}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":32}},"5":{"start":{"line":13,"column":4},"end":{"line":13,"column":61}},"6":{"start":{"line":13,"column":40},"end":{"line":13,"column":59}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":47},"end":{"line":5,"column":48}},"loc":{"start":{"line":5,"column":53},"end":{"line":7,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":64},"end":{"line":9,"column":65}},"loc":{"start":{"line":9,"column":74},"end":{"line":14,"column":1}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":31},"end":{"line":13,"column":32}},"loc":{"start":{"line":13,"column":40},"end":{"line":13,"column":59}},"line":13}},"branchMap":{},"s":{"0":4,"1":204,"2":4,"3":3,"4":3,"5":3,"6":9},"f":{"0":204,"1":3,"2":9},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0232e5fb1bbde9481679c77d3741ae237b989430"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\index.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d2d6e8c70f9ccc21aac3ef2bf5dc47bd6db8f782"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\manipulation.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\manipulation.ts","statementMap":{"0":{"start":{"line":13,"column":106},"end":{"line":48,"column":1}},"1":{"start":{"line":14,"column":4},"end":{"line":47,"column":5}},"2":{"start":{"line":15,"column":34},"end":{"line":15,"column":49}},"3":{"start":{"line":19,"column":8},"end":{"line":46,"column":9}},"4":{"start":{"line":20,"column":12},"end":{"line":33,"column":13}},"5":{"start":{"line":21,"column":16},"end":{"line":21,"column":61}},"6":{"start":{"line":24,"column":16},"end":{"line":29,"column":19}},"7":{"start":{"line":25,"column":20},"end":{"line":27,"column":21}},"8":{"start":{"line":26,"column":24},"end":{"line":26,"column":61}},"9":{"start":{"line":28,"column":20},"end":{"line":28,"column":55}},"10":{"start":{"line":32,"column":16},"end":{"line":32,"column":40}},"11":{"start":{"line":36,"column":12},"end":{"line":43,"column":13}},"12":{"start":{"line":37,"column":16},"end":{"line":42,"column":17}},"13":{"start":{"line":38,"column":20},"end":{"line":38,"column":47}},"14":{"start":{"line":40,"column":21},"end":{"line":42,"column":17}},"15":{"start":{"line":41,"column":20},"end":{"line":41,"column":48}},"16":{"start":{"line":45,"column":12},"end":{"line":45,"column":50}},"17":{"start":{"line":55,"column":85},"end":{"line":55,"column":137}},"18":{"start":{"line":55,"column":107},"end":{"line":55,"column":135}},"19":{"start":{"line":62,"column":86},"end":{"line":62,"column":157}},"20":{"start":{"line":62,"column":108},"end":{"line":62,"column":155}},"21":{"start":{"line":69,"column":88},"end":{"line":69,"column":158}},"22":{"start":{"line":69,"column":115},"end":{"line":69,"column":156}},"23":{"start":{"line":76,"column":87},"end":{"line":76,"column":177}},"24":{"start":{"line":76,"column":114},"end":{"line":76,"column":175}},"25":{"start":{"line":82,"column":63},"end":{"line":91,"column":1}},"26":{"start":{"line":83,"column":4},"end":{"line":90,"column":5}},"27":{"start":{"line":84,"column":8},"end":{"line":84,"column":58}},"28":{"start":{"line":84,"column":39},"end":{"line":84,"column":56}},"29":{"start":{"line":86,"column":9},"end":{"line":90,"column":5}},"30":{"start":{"line":87,"column":27},"end":{"line":87,"column":43}},"31":{"start":{"line":88,"column":8},"end":{"line":89,"column":42}},"32":{"start":{"line":89,"column":12},"end":{"line":89,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":106},"end":{"line":13,"column":107}},"loc":{"start":{"line":13,"column":149},"end":{"line":48,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":35},"end":{"line":24,"column":36}},"loc":{"start":{"line":24,"column":52},"end":{"line":29,"column":17}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":85},"end":{"line":55,"column":86}},"loc":{"start":{"line":55,"column":105},"end":{"line":55,"column":137}},"line":55},"3":{"name":"(anonymous_3)","decl":{"start":{"line":62,"column":86},"end":{"line":62,"column":87}},"loc":{"start":{"line":62,"column":106},"end":{"line":62,"column":157}},"line":62},"4":{"name":"(anonymous_4)","decl":{"start":{"line":69,"column":88},"end":{"line":69,"column":89}},"loc":{"start":{"line":69,"column":113},"end":{"line":69,"column":158}},"line":69},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":87},"end":{"line":76,"column":88}},"loc":{"start":{"line":76,"column":112},"end":{"line":76,"column":177}},"line":76},"6":{"name":"(anonymous_6)","decl":{"start":{"line":82,"column":63},"end":{"line":82,"column":64}},"loc":{"start":{"line":82,"column":74},"end":{"line":91,"column":1}},"line":82},"7":{"name":"(anonymous_7)","decl":{"start":{"line":84,"column":32},"end":{"line":84,"column":33}},"loc":{"start":{"line":84,"column":39},"end":{"line":84,"column":56}},"line":84}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":47,"column":5}},{"start":{"line":14,"column":4},"end":{"line":47,"column":5}}],"line":14},"1":{"loc":{"start":{"line":19,"column":8},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":19,"column":8},"end":{"line":46,"column":9}},{"start":{"line":19,"column":8},"end":{"line":46,"column":9}}],"line":19},"2":{"loc":{"start":{"line":20,"column":12},"end":{"line":33,"column":13}},"type":"if","locations":[{"start":{"line":20,"column":12},"end":{"line":33,"column":13}},{"start":{"line":20,"column":12},"end":{"line":33,"column":13}}],"line":20},"3":{"loc":{"start":{"line":25,"column":20},"end":{"line":27,"column":21}},"type":"if","locations":[{"start":{"line":25,"column":20},"end":{"line":27,"column":21}},{"start":{"line":25,"column":20},"end":{"line":27,"column":21}}],"line":25},"4":{"loc":{"start":{"line":36,"column":12},"end":{"line":43,"column":13}},"type":"if","locations":[{"start":{"line":36,"column":12},"end":{"line":43,"column":13}},{"start":{"line":36,"column":12},"end":{"line":43,"column":13}}],"line":36},"5":{"loc":{"start":{"line":37,"column":16},"end":{"line":42,"column":17}},"type":"if","locations":[{"start":{"line":37,"column":16},"end":{"line":42,"column":17}},{"start":{"line":37,"column":16},"end":{"line":42,"column":17}}],"line":37},"6":{"loc":{"start":{"line":40,"column":21},"end":{"line":42,"column":17}},"type":"if","locations":[{"start":{"line":40,"column":21},"end":{"line":42,"column":17}},{"start":{"line":40,"column":21},"end":{"line":42,"column":17}}],"line":40},"7":{"loc":{"start":{"line":62,"column":121},"end":{"line":62,"column":144}},"type":"binary-expr","locations":[{"start":{"line":62,"column":121},"end":{"line":62,"column":125}},{"start":{"line":62,"column":129},"end":{"line":62,"column":144}}],"line":62},"8":{"loc":{"start":{"line":76,"column":135},"end":{"line":76,"column":159}},"type":"binary-expr","locations":[{"start":{"line":76,"column":135},"end":{"line":76,"column":139}},{"start":{"line":76,"column":143},"end":{"line":76,"column":159}}],"line":76},"9":{"loc":{"start":{"line":83,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":90,"column":5}},{"start":{"line":83,"column":4},"end":{"line":90,"column":5}}],"line":83},"10":{"loc":{"start":{"line":86,"column":9},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":86,"column":9},"end":{"line":90,"column":5}},{"start":{"line":86,"column":9},"end":{"line":90,"column":5}}],"line":86},"11":{"loc":{"start":{"line":88,"column":8},"end":{"line":89,"column":42}},"type":"if","locations":[{"start":{"line":88,"column":8},"end":{"line":89,"column":42}},{"start":{"line":88,"column":8},"end":{"line":89,"column":42}}],"line":88}},"s":{"0":4,"1":24,"2":20,"3":20,"4":16,"5":8,"6":8,"7":24,"8":3,"9":24,"10":8,"11":16,"12":12,"13":1,"14":11,"15":2,"16":16,"17":4,"18":6,"19":4,"20":6,"21":4,"22":6,"23":4,"24":6,"25":4,"26":23,"27":2,"28":9,"29":21,"30":20,"31":20,"32":15},"f":{"0":24,"1":24,"2":6,"3":6,"4":6,"5":6,"6":23,"7":9},"b":{"0":[20,4],"1":[16,4],"2":[8,8],"3":[3,21],"4":[12,4],"5":[1,11],"6":[2,9],"7":[6,5],"8":[6,5],"9":[2,21],"10":[20,1],"11":[15,5]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"09522297815678daa581b1cabf03bcee38e2a590"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\offset.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\offset.ts","statementMap":{"0":{"start":{"line":1,"column":22},"end":{"line":7,"column":1}},"1":{"start":{"line":2,"column":17},"end":{"line":2,"column":44}},"2":{"start":{"line":3,"column":4},"end":{"line":6,"column":6}},"3":{"start":{"line":9,"column":24},"end":{"line":14,"column":1}},"4":{"start":{"line":10,"column":4},"end":{"line":13,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":44},"end":{"line":7,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":25}},"loc":{"start":{"line":9,"column":46},"end":{"line":14,"column":1}},"line":9}},"branchMap":{},"s":{"0":3,"1":0,"2":0,"3":3,"4":0},"f":{"0":0,"1":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8fe8a69862fa496b46c3490e0764b4b5dcc53dd0"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\style.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\style.ts","statementMap":{"0":{"start":{"line":5,"column":18},"end":{"line":19,"column":1}},"1":{"start":{"line":21,"column":82},"end":{"line":27,"column":1}},"2":{"start":{"line":22,"column":4},"end":{"line":26,"column":19}},"3":{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},"4":{"start":{"line":24,"column":12},"end":{"line":24,"column":53}},"5":{"start":{"line":29,"column":77},"end":{"line":31,"column":1}},"6":{"start":{"line":30,"column":4},"end":{"line":30,"column":78}},"7":{"start":{"line":36,"column":34},"end":{"line":36,"column":57}},"8":{"start":{"line":38,"column":4},"end":{"line":52,"column":5}},"9":{"start":{"line":39,"column":8},"end":{"line":47,"column":9}},"10":{"start":{"line":40,"column":50},"end":{"line":40,"column":72}},"11":{"start":{"line":43,"column":12},"end":{"line":43,"column":92}},"12":{"start":{"line":46,"column":12},"end":{"line":46,"column":40}},"13":{"start":{"line":50,"column":8},"end":{"line":51,"column":45}},"14":{"start":{"line":51,"column":12},"end":{"line":51,"column":45}},"15":{"start":{"line":55,"column":48},"end":{"line":57,"column":1}},"16":{"start":{"line":56,"column":4},"end":{"line":56,"column":31}},"17":{"start":{"line":59,"column":48},"end":{"line":61,"column":1}},"18":{"start":{"line":60,"column":4},"end":{"line":60,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":82},"end":{"line":21,"column":83}},"loc":{"start":{"line":21,"column":102},"end":{"line":27,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":77},"end":{"line":29,"column":78}},"loc":{"start":{"line":29,"column":92},"end":{"line":31,"column":1}},"line":29},"2":{"name":"style","decl":{"start":{"line":35,"column":16},"end":{"line":35,"column":21}},"loc":{"start":{"line":35,"column":108},"end":{"line":53,"column":1}},"line":35},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":48},"end":{"line":55,"column":49}},"loc":{"start":{"line":55,"column":57},"end":{"line":57,"column":1}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":48},"end":{"line":59,"column":49}},"loc":{"start":{"line":59,"column":57},"end":{"line":61,"column":1}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},{"start":{"line":23,"column":8},"end":{"line":25,"column":9}}],"line":23},"1":{"loc":{"start":{"line":30,"column":11},"end":{"line":30,"column":77}},"type":"cond-expr","locations":[{"start":{"line":30,"column":61},"end":{"line":30,"column":71}},{"start":{"line":30,"column":74},"end":{"line":30,"column":77}}],"line":30},"2":{"loc":{"start":{"line":30,"column":11},"end":{"line":30,"column":58}},"type":"binary-expr","locations":[{"start":{"line":30,"column":11},"end":{"line":30,"column":41}},{"start":{"line":30,"column":45},"end":{"line":30,"column":58}}],"line":30},"3":{"loc":{"start":{"line":38,"column":4},"end":{"line":52,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":52,"column":5}},{"start":{"line":38,"column":4},"end":{"line":52,"column":5}}],"line":38},"4":{"loc":{"start":{"line":39,"column":8},"end":{"line":47,"column":9}},"type":"if","locations":[{"start":{"line":39,"column":8},"end":{"line":47,"column":9}},{"start":{"line":39,"column":8},"end":{"line":47,"column":9}}],"line":39},"5":{"loc":{"start":{"line":43,"column":19},"end":{"line":43,"column":91}},"type":"cond-expr","locations":[{"start":{"line":43,"column":38},"end":{"line":43,"column":71}},{"start":{"line":43,"column":74},"end":{"line":43,"column":91}}],"line":43}},"s":{"0":3,"1":3,"2":0,"3":0,"4":0,"5":3,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":3,"16":0,"17":3,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0b239e5c2da681c1365ddcffbd752dfe9fa8fa00"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\traversal.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\traversal.ts","statementMap":{"0":{"start":{"line":3,"column":56},"end":{"line":5,"column":1}},"1":{"start":{"line":4,"column":4},"end":{"line":4,"column":82}},"2":{"start":{"line":7,"column":88},"end":{"line":15,"column":1}},"3":{"start":{"line":8,"column":32},"end":{"line":8,"column":34}},"4":{"start":{"line":10,"column":4},"end":{"line":12,"column":7}},"5":{"start":{"line":11,"column":8},"end":{"line":11,"column":20}},"6":{"start":{"line":14,"column":4},"end":{"line":14,"column":15}},"7":{"start":{"line":17,"column":85},"end":{"line":19,"column":1}},"8":{"start":{"line":18,"column":4},"end":{"line":18,"column":53}},"9":{"start":{"line":21,"column":70},"end":{"line":31,"column":1}},"10":{"start":{"line":22,"column":4},"end":{"line":29,"column":5}},"11":{"start":{"line":23,"column":8},"end":{"line":24,"column":56}},"12":{"start":{"line":24,"column":12},"end":{"line":24,"column":56}},"13":{"start":{"line":25,"column":8},"end":{"line":26,"column":57}},"14":{"start":{"line":26,"column":12},"end":{"line":26,"column":57}},"15":{"start":{"line":27,"column":8},"end":{"line":28,"column":24}},"16":{"start":{"line":28,"column":12},"end":{"line":28,"column":24}},"17":{"start":{"line":30,"column":4},"end":{"line":30,"column":17}},"18":{"start":{"line":33,"column":92},"end":{"line":46,"column":1}},"19":{"start":{"line":34,"column":37},"end":{"line":34,"column":39}},"20":{"start":{"line":36,"column":4},"end":{"line":43,"column":7}},"21":{"start":{"line":37,"column":8},"end":{"line":42,"column":33}},"22":{"start":{"line":38,"column":12},"end":{"line":39,"column":37}},"23":{"start":{"line":39,"column":16},"end":{"line":39,"column":37}},"24":{"start":{"line":42,"column":12},"end":{"line":42,"column":33}},"25":{"start":{"line":45,"column":4},"end":{"line":45,"column":20}},"26":{"start":{"line":48,"column":75},"end":{"line":50,"column":1}},"27":{"start":{"line":49,"column":4},"end":{"line":49,"column":60}},"28":{"start":{"line":52,"column":57},"end":{"line":52,"column":96}},"29":{"start":{"line":52,"column":66},"end":{"line":52,"column":96}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":56},"end":{"line":3,"column":57}},"loc":{"start":{"line":3,"column":65},"end":{"line":5,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":88},"end":{"line":7,"column":89}},"loc":{"start":{"line":7,"column":108},"end":{"line":15,"column":1}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":55},"end":{"line":10,"column":56}},"loc":{"start":{"line":10,"column":71},"end":{"line":12,"column":5}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":85},"end":{"line":17,"column":86}},"loc":{"start":{"line":17,"column":105},"end":{"line":19,"column":1}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":70},"end":{"line":21,"column":71}},"loc":{"start":{"line":21,"column":89},"end":{"line":31,"column":1}},"line":21},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":92},"end":{"line":33,"column":93}},"loc":{"start":{"line":33,"column":112},"end":{"line":46,"column":1}},"line":33},"6":{"name":"(anonymous_6)","decl":{"start":{"line":36,"column":30},"end":{"line":36,"column":31}},"loc":{"start":{"line":36,"column":50},"end":{"line":43,"column":5}},"line":36},"7":{"name":"(anonymous_7)","decl":{"start":{"line":48,"column":75},"end":{"line":48,"column":76}},"loc":{"start":{"line":48,"column":84},"end":{"line":50,"column":1}},"line":48},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":57},"end":{"line":52,"column":58}},"loc":{"start":{"line":52,"column":66},"end":{"line":52,"column":96}},"line":52}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":14},"end":{"line":4,"column":80}},"type":"binary-expr","locations":[{"start":{"line":4,"column":14},"end":{"line":4,"column":29}},{"start":{"line":4,"column":33},"end":{"line":4,"column":49}},{"start":{"line":4,"column":53},"end":{"line":4,"column":80}}],"line":4},"1":{"loc":{"start":{"line":10,"column":10},"end":{"line":10,"column":25}},"type":"binary-expr","locations":[{"start":{"line":10,"column":10},"end":{"line":10,"column":13}},{"start":{"line":10,"column":17},"end":{"line":10,"column":25}}],"line":10},"2":{"loc":{"start":{"line":18,"column":12},"end":{"line":18,"column":27}},"type":"binary-expr","locations":[{"start":{"line":18,"column":12},"end":{"line":18,"column":15}},{"start":{"line":18,"column":19},"end":{"line":18,"column":27}}],"line":18},"3":{"loc":{"start":{"line":22,"column":4},"end":{"line":29,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":29,"column":5}},{"start":{"line":22,"column":4},"end":{"line":29,"column":5}}],"line":22},"4":{"loc":{"start":{"line":23,"column":8},"end":{"line":24,"column":56}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":24,"column":56}},{"start":{"line":23,"column":8},"end":{"line":24,"column":56}}],"line":23},"5":{"loc":{"start":{"line":25,"column":8},"end":{"line":26,"column":57}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":26,"column":57}},{"start":{"line":25,"column":8},"end":{"line":26,"column":57}}],"line":25},"6":{"loc":{"start":{"line":27,"column":8},"end":{"line":28,"column":24}},"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":28,"column":24}},{"start":{"line":27,"column":8},"end":{"line":28,"column":24}}],"line":27},"7":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":28}},"type":"binary-expr","locations":[{"start":{"line":36,"column":9},"end":{"line":36,"column":12}},{"start":{"line":36,"column":16},"end":{"line":36,"column":28}}],"line":36},"8":{"loc":{"start":{"line":37,"column":8},"end":{"line":42,"column":33}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":42,"column":33}},{"start":{"line":37,"column":8},"end":{"line":42,"column":33}}],"line":37},"9":{"loc":{"start":{"line":38,"column":12},"end":{"line":39,"column":37}},"type":"if","locations":[{"start":{"line":38,"column":12},"end":{"line":39,"column":37}},{"start":{"line":38,"column":12},"end":{"line":39,"column":37}}],"line":38},"10":{"loc":{"start":{"line":49,"column":11},"end":{"line":49,"column":59}},"type":"cond-expr","locations":[{"start":{"line":49,"column":17},"end":{"line":49,"column":54}},{"start":{"line":49,"column":57},"end":{"line":49,"column":59}}],"line":49},"11":{"loc":{"start":{"line":52,"column":66},"end":{"line":52,"column":96}},"type":"cond-expr","locations":[{"start":{"line":52,"column":72},"end":{"line":52,"column":89}},{"start":{"line":52,"column":92},"end":{"line":52,"column":96}}],"line":52}},"s":{"0":4,"1":4,"2":4,"3":6,"4":6,"5":18,"6":6,"7":4,"8":19,"9":4,"10":31,"11":22,"12":2,"13":20,"14":2,"15":18,"16":6,"17":21,"18":4,"19":3,"20":3,"21":6,"22":3,"23":1,"24":3,"25":3,"26":4,"27":38,"28":4,"29":14},"f":{"0":4,"1":6,"2":18,"3":19,"4":31,"5":3,"6":6,"7":38,"8":14},"b":{"0":[4,4,4],"1":[6,5],"2":[19,18],"3":[22,9],"4":[2,20],"5":[2,18],"6":[6,12],"7":[3,2],"8":[3,3],"9":[1,2],"10":[37,1],"11":[11,3]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"49d13e15d53cf189495d63db43d7b24bd7f36de4"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\index.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"018a4ea06cca27298c5615f2ebf474f07ed32bdb"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\transformation.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\transformation.ts","statementMap":{"0":{"start":{"line":13,"column":24},"end":{"line":13,"column":26}},"1":{"start":{"line":15,"column":4},"end":{"line":23,"column":7}},"2":{"start":{"line":16,"column":86},"end":{"line":16,"column":117}},"3":{"start":{"line":19,"column":8},"end":{"line":22,"column":94}},"4":{"start":{"line":20,"column":12},"end":{"line":20,"column":50}},"5":{"start":{"line":25,"column":4},"end":{"line":25,"column":18}}},"fnMap":{"0":{"name":"transform","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":25}},"loc":{"start":{"line":12,"column":157},"end":{"line":26,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":50},"end":{"line":15,"column":51}},"loc":{"start":{"line":15,"column":85},"end":{"line":23,"column":5}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":8},"end":{"line":22,"column":94}},"type":"if","locations":[{"start":{"line":19,"column":8},"end":{"line":22,"column":94}}],"line":19},"1":{"loc":{"start":{"line":20,"column":30},"end":{"line":20,"column":48}},"type":"cond-expr","locations":[{"start":{"line":20,"column":43},"end":{"line":20,"column":44}},{"start":{"line":20,"column":47},"end":{"line":20,"column":48}}],"line":20}},"s":{"0":16,"1":16,"2":102,"3":102,"4":90,"5":16},"f":{"0":16,"1":102},"b":{"0":[90],"1":[45,45]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"efc1ddb7dc5f5e7477c0e937bd46e49ce7e3bbb8"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\validation.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\validation.ts","statementMap":{"0":{"start":{"line":5,"column":18},"end":{"line":5,"column":32}},"1":{"start":{"line":10,"column":60},"end":{"line":10,"column":81}},"2":{"start":{"line":16,"column":61},"end":{"line":27,"column":40}},"3":{"start":{"line":25,"column":4},"end":{"line":25,"column":84}},"4":{"start":{"line":26,"column":4},"end":{"line":26,"column":18}},"5":{"start":{"line":47,"column":26},"end":{"line":121,"column":1}},"6":{"start":{"line":48,"column":50},"end":{"line":48,"column":52}},"7":{"start":{"line":49,"column":27},"end":{"line":49,"column":53}},"8":{"start":{"line":50,"column":18},"end":{"line":50,"column":84}},"9":{"start":{"line":50,"column":55},"end":{"line":50,"column":83}},"10":{"start":{"line":52,"column":4},"end":{"line":115,"column":7}},"11":{"start":{"line":53,"column":38},"end":{"line":53,"column":93}},"12":{"start":{"line":54,"column":34},"end":{"line":54,"column":47}},"13":{"start":{"line":55,"column":105},"end":{"line":55,"column":119}},"14":{"start":{"line":56,"column":34},"end":{"line":56,"column":62}},"15":{"start":{"line":57,"column":27},"end":{"line":57,"column":57}},"16":{"start":{"line":60,"column":8},"end":{"line":114,"column":9}},"17":{"start":{"line":61,"column":36},"end":{"line":61,"column":149}},"18":{"start":{"line":62,"column":12},"end":{"line":62,"column":63}},"19":{"start":{"line":63,"column":12},"end":{"line":63,"column":63}},"20":{"start":{"line":65,"column":12},"end":{"line":69,"column":15}},"21":{"start":{"line":66,"column":16},"end":{"line":68,"column":17}},"22":{"start":{"line":67,"column":20},"end":{"line":67,"column":39}},"23":{"start":{"line":71,"column":13},"end":{"line":114,"column":9}},"24":{"start":{"line":72,"column":26},"end":{"line":72,"column":31}},"25":{"start":{"line":73,"column":52},"end":{"line":73,"column":54}},"26":{"start":{"line":74,"column":54},"end":{"line":74,"column":56}},"27":{"start":{"line":75,"column":37},"end":{"line":75,"column":55}},"28":{"start":{"line":76,"column":75},"end":{"line":76,"column":196}},"29":{"start":{"line":78,"column":12},"end":{"line":98,"column":15}},"30":{"start":{"line":80,"column":37},"end":{"line":80,"column":103}},"31":{"start":{"line":81,"column":16},"end":{"line":91,"column":17}},"32":{"start":{"line":83,"column":44},"end":{"line":83,"column":71}},"33":{"start":{"line":84,"column":20},"end":{"line":84,"column":98}},"34":{"start":{"line":84,"column":68},"end":{"line":84,"column":96}},"35":{"start":{"line":87,"column":20},"end":{"line":87,"column":62}},"36":{"start":{"line":90,"column":20},"end":{"line":90,"column":90}},"37":{"start":{"line":94,"column":16},"end":{"line":94,"column":103}},"38":{"start":{"line":97,"column":16},"end":{"line":97,"column":32}},"39":{"start":{"line":101,"column":12},"end":{"line":111,"column":13}},"40":{"start":{"line":102,"column":46},"end":{"line":102,"column":98}},"41":{"start":{"line":103,"column":16},"end":{"line":105,"column":17}},"42":{"start":{"line":104,"column":20},"end":{"line":104,"column":58}},"43":{"start":{"line":107,"column":17},"end":{"line":111,"column":13}},"44":{"start":{"line":108,"column":16},"end":{"line":110,"column":118}},"45":{"start":{"line":113,"column":12},"end":{"line":113,"column":37}},"46":{"start":{"line":117,"column":4},"end":{"line":120,"column":6}},"47":{"start":{"line":140,"column":17},"end":{"line":152,"column":1}},"48":{"start":{"line":151,"column":4},"end":{"line":151,"column":91}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":27},"end":{"line":27,"column":1}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":26},"end":{"line":47,"column":27}},"loc":{"start":{"line":47,"column":216},"end":{"line":121,"column":1}},"line":47},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":47},"end":{"line":50,"column":48}},"loc":{"start":{"line":50,"column":55},"end":{"line":50,"column":83}},"line":50},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":16},"end":{"line":52,"column":17}},"loc":{"start":{"line":52,"column":52},"end":{"line":115,"column":5}},"line":52},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":50},"end":{"line":65,"column":51}},"loc":{"start":{"line":65,"column":61},"end":{"line":69,"column":13}},"line":65},"5":{"name":"(anonymous_5)","decl":{"start":{"line":78,"column":35},"end":{"line":78,"column":36}},"loc":{"start":{"line":78,"column":57},"end":{"line":98,"column":13}},"line":78},"6":{"name":"(anonymous_6)","decl":{"start":{"line":84,"column":53},"end":{"line":84,"column":54}},"loc":{"start":{"line":84,"column":68},"end":{"line":84,"column":96}},"line":84},"7":{"name":"(anonymous_7)","decl":{"start":{"line":140,"column":17},"end":{"line":140,"column":18}},"loc":{"start":{"line":140,"column":189},"end":{"line":152,"column":1}},"line":140}},"branchMap":{"0":{"loc":{"start":{"line":53,"column":38},"end":{"line":53,"column":93}},"type":"cond-expr","locations":[{"start":{"line":53,"column":71},"end":{"line":53,"column":73}},{"start":{"line":53,"column":76},"end":{"line":53,"column":93}}],"line":53},"1":{"loc":{"start":{"line":57,"column":27},"end":{"line":57,"column":57}},"type":"cond-expr","locations":[{"start":{"line":57,"column":38},"end":{"line":57,"column":52}},{"start":{"line":57,"column":55},"end":{"line":57,"column":57}}],"line":57},"2":{"loc":{"start":{"line":60,"column":8},"end":{"line":114,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":114,"column":9}},{"start":{"line":60,"column":8},"end":{"line":114,"column":9}}],"line":60},"3":{"loc":{"start":{"line":60,"column":12},"end":{"line":60,"column":60}},"type":"binary-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":29}},{"start":{"line":60,"column":33},"end":{"line":60,"column":60}}],"line":60},"4":{"loc":{"start":{"line":66,"column":16},"end":{"line":68,"column":17}},"type":"if","locations":[{"start":{"line":66,"column":16},"end":{"line":68,"column":17}},{"start":{"line":66,"column":16},"end":{"line":68,"column":17}}],"line":66},"5":{"loc":{"start":{"line":71,"column":13},"end":{"line":114,"column":9}},"type":"if","locations":[{"start":{"line":71,"column":13},"end":{"line":114,"column":9}},{"start":{"line":71,"column":13},"end":{"line":114,"column":9}}],"line":71},"6":{"loc":{"start":{"line":76,"column":75},"end":{"line":76,"column":196}},"type":"cond-expr","locations":[{"start":{"line":76,"column":101},"end":{"line":76,"column":149}},{"start":{"line":76,"column":152},"end":{"line":76,"column":196}}],"line":76},"7":{"loc":{"start":{"line":81,"column":16},"end":{"line":91,"column":17}},"type":"if","locations":[{"start":{"line":81,"column":16},"end":{"line":91,"column":17}},{"start":{"line":81,"column":16},"end":{"line":91,"column":17}}],"line":81},"8":{"loc":{"start":{"line":81,"column":20},"end":{"line":81,"column":58}},"type":"binary-expr","locations":[{"start":{"line":81,"column":20},"end":{"line":81,"column":32}},{"start":{"line":81,"column":36},"end":{"line":81,"column":58}}],"line":81},"9":{"loc":{"start":{"line":94,"column":40},"end":{"line":94,"column":101}},"type":"cond-expr","locations":[{"start":{"line":94,"column":55},"end":{"line":94,"column":82}},{"start":{"line":94,"column":85},"end":{"line":94,"column":101}}],"line":94},"10":{"loc":{"start":{"line":101,"column":12},"end":{"line":111,"column":13}},"type":"if","locations":[{"start":{"line":101,"column":12},"end":{"line":111,"column":13}},{"start":{"line":101,"column":12},"end":{"line":111,"column":13}}],"line":101},"11":{"loc":{"start":{"line":102,"column":46},"end":{"line":102,"column":98}},"type":"binary-expr","locations":[{"start":{"line":102,"column":46},"end":{"line":102,"column":67}},{"start":{"line":102,"column":71},"end":{"line":102,"column":98}}],"line":102},"12":{"loc":{"start":{"line":103,"column":16},"end":{"line":105,"column":17}},"type":"if","locations":[{"start":{"line":103,"column":16},"end":{"line":105,"column":17}},{"start":{"line":103,"column":16},"end":{"line":105,"column":17}}],"line":103},"13":{"loc":{"start":{"line":103,"column":20},"end":{"line":103,"column":135}},"type":"cond-expr","locations":[{"start":{"line":103,"column":44},"end":{"line":103,"column":99}},{"start":{"line":103,"column":102},"end":{"line":103,"column":135}}],"line":103},"14":{"loc":{"start":{"line":107,"column":17},"end":{"line":111,"column":13}},"type":"if","locations":[{"start":{"line":107,"column":17},"end":{"line":111,"column":13}},{"start":{"line":107,"column":17},"end":{"line":111,"column":13}}],"line":107},"15":{"loc":{"start":{"line":110,"column":21},"end":{"line":110,"column":116}},"type":"cond-expr","locations":[{"start":{"line":110,"column":51},"end":{"line":110,"column":111}},{"start":{"line":110,"column":114},"end":{"line":110,"column":116}}],"line":110},"16":{"loc":{"start":{"line":151,"column":48},"end":{"line":151,"column":65}},"type":"binary-expr","locations":[{"start":{"line":151,"column":48},"end":{"line":151,"column":59}},{"start":{"line":151,"column":63},"end":{"line":151,"column":65}}],"line":151},"17":{"loc":{"start":{"line":151,"column":67},"end":{"line":151,"column":89}},"type":"binary-expr","locations":[{"start":{"line":151,"column":67},"end":{"line":151,"column":80}},{"start":{"line":151,"column":84},"end":{"line":151,"column":89}}],"line":151}},"s":{"0":3,"1":3,"2":3,"3":21,"4":21,"5":3,"6":65,"7":65,"8":65,"9":372,"10":65,"11":372,"12":372,"13":372,"14":372,"15":372,"16":372,"17":33,"18":33,"19":33,"20":33,"21":66,"22":33,"23":339,"24":336,"25":336,"26":336,"27":336,"28":336,"29":336,"30":417,"31":417,"32":64,"33":64,"34":121,"35":64,"36":353,"37":417,"38":417,"39":336,"40":310,"41":310,"42":256,"43":26,"44":2,"45":336,"46":65,"47":3,"48":32},"f":{"0":21,"1":65,"2":372,"3":372,"4":66,"5":417,"6":121,"7":32},"b":{"0":[295,77],"1":[110,262],"2":[33,339],"3":[372,36],"4":[33,33],"5":[336,3],"6":[227,109],"7":[64,353],"8":[417,64],"9":[64,353],"10":[310,26],"11":[310,277],"12":[256,54],"13":[62,248],"14":[2,24],"15":[1,1],"16":[32,20],"17":[32,28]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5aa51ec7f845f536d47b8676503dd0e5ba6e4272"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\arrays.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\arrays.ts","statementMap":{"0":{"start":{"line":19,"column":29},"end":{"line":19,"column":30}},"1":{"start":{"line":21,"column":4},"end":{"line":32,"column":5}},"2":{"start":{"line":22,"column":8},"end":{"line":25,"column":9}},"3":{"start":{"line":23,"column":12},"end":{"line":24,"column":22}},"4":{"start":{"line":24,"column":16},"end":{"line":24,"column":22}},"5":{"start":{"line":27,"column":9},"end":{"line":32,"column":5}},"6":{"start":{"line":28,"column":8},"end":{"line":31,"column":9}},"7":{"start":{"line":29,"column":12},"end":{"line":30,"column":22}},"8":{"start":{"line":30,"column":16},"end":{"line":30,"column":22}},"9":{"start":{"line":33,"column":4},"end":{"line":33,"column":18}},"10":{"start":{"line":42,"column":88},"end":{"line":44,"column":1}},"11":{"start":{"line":43,"column":4},"end":{"line":43,"column":40}}},"fnMap":{"0":{"name":"each","decl":{"start":{"line":18,"column":16},"end":{"line":18,"column":20}},"loc":{"start":{"line":18,"column":208},"end":{"line":34,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":42,"column":88},"end":{"line":42,"column":89}},"loc":{"start":{"line":42,"column":114},"end":{"line":44,"column":1}},"line":42}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":32,"column":5}},{"start":{"line":21,"column":4},"end":{"line":32,"column":5}}],"line":21},"1":{"loc":{"start":{"line":23,"column":12},"end":{"line":24,"column":22}},"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":24,"column":22}},{"start":{"line":23,"column":12},"end":{"line":24,"column":22}}],"line":23},"2":{"loc":{"start":{"line":27,"column":9},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":9},"end":{"line":32,"column":5}},{"start":{"line":27,"column":9},"end":{"line":32,"column":5}}],"line":27},"3":{"loc":{"start":{"line":29,"column":12},"end":{"line":30,"column":22}},"type":"if","locations":[{"start":{"line":29,"column":12},"end":{"line":30,"column":22}},{"start":{"line":29,"column":12},"end":{"line":30,"column":22}}],"line":29}},"s":{"0":694,"1":694,"2":688,"3":2211,"4":320,"5":6,"6":5,"7":13,"8":1,"9":694,"10":9,"11":418},"f":{"0":694,"1":418},"b":{"0":[688,6],"1":[320,1891],"2":[5,1],"3":[1,12]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"afb1a5c75f51926664804d955a4957a230352de5"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\extend.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\extend.ts","statementMap":{"0":{"start":{"line":11,"column":32},"end":{"line":11,"column":86}},"1":{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},"2":{"start":{"line":15,"column":8},"end":{"line":15,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":55,"column":7}},"4":{"start":{"line":20,"column":8},"end":{"line":54,"column":9}},"5":{"start":{"line":23,"column":12},"end":{"line":53,"column":13}},"6":{"start":{"line":24,"column":34},"end":{"line":24,"column":46}},"7":{"start":{"line":28,"column":16},"end":{"line":30,"column":17}},"8":{"start":{"line":29,"column":20},"end":{"line":29,"column":29}},"9":{"start":{"line":32,"column":36},"end":{"line":32,"column":49}},"10":{"start":{"line":35,"column":16},"end":{"line":52,"column":17}},"11":{"start":{"line":36,"column":32},"end":{"line":36,"column":44}},"12":{"start":{"line":37,"column":37},"end":{"line":37,"column":40}},"13":{"start":{"line":40,"column":20},"end":{"line":44,"column":21}},"14":{"start":{"line":41,"column":24},"end":{"line":41,"column":35}},"15":{"start":{"line":42,"column":27},"end":{"line":44,"column":21}},"16":{"start":{"line":43,"column":24},"end":{"line":43,"column":35}},"17":{"start":{"line":47,"column":20},"end":{"line":47,"column":62}},"18":{"start":{"line":50,"column":23},"end":{"line":52,"column":17}},"19":{"start":{"line":51,"column":20},"end":{"line":51,"column":40}},"20":{"start":{"line":58,"column":4},"end":{"line":58,"column":25}}},"fnMap":{"0":{"name":"extend","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":22}},"loc":{"start":{"line":10,"column":160},"end":{"line":59,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":18},"end":{"line":18,"column":19}},"loc":{"start":{"line":18,"column":30},"end":{"line":55,"column":5}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},{"start":{"line":14,"column":4},"end":{"line":16,"column":5}}],"line":14},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":14,"column":77}},"type":"binary-expr","locations":[{"start":{"line":14,"column":9},"end":{"line":14,"column":35}},{"start":{"line":14,"column":39},"end":{"line":14,"column":53}},{"start":{"line":14,"column":58},"end":{"line":14,"column":77}}],"line":14},"2":{"loc":{"start":{"line":20,"column":8},"end":{"line":54,"column":9}},"type":"if","locations":[{"start":{"line":20,"column":8},"end":{"line":54,"column":9}},{"start":{"line":20,"column":8},"end":{"line":54,"column":9}}],"line":20},"3":{"loc":{"start":{"line":28,"column":16},"end":{"line":30,"column":17}},"type":"if","locations":[{"start":{"line":28,"column":16},"end":{"line":30,"column":17}},{"start":{"line":28,"column":16},"end":{"line":30,"column":17}}],"line":28},"4":{"loc":{"start":{"line":28,"column":20},"end":{"line":28,"column":59}},"type":"binary-expr","locations":[{"start":{"line":28,"column":20},"end":{"line":28,"column":40}},{"start":{"line":28,"column":44},"end":{"line":28,"column":59}}],"line":28},"5":{"loc":{"start":{"line":35,"column":16},"end":{"line":52,"column":17}},"type":"if","locations":[{"start":{"line":35,"column":16},"end":{"line":52,"column":17}},{"start":{"line":35,"column":16},"end":{"line":52,"column":17}}],"line":35},"6":{"loc":{"start":{"line":35,"column":20},"end":{"line":35,"column":64}},"type":"binary-expr","locations":[{"start":{"line":35,"column":20},"end":{"line":35,"column":24}},{"start":{"line":35,"column":29},"end":{"line":35,"column":48}},{"start":{"line":35,"column":52},"end":{"line":35,"column":63}}],"line":35},"7":{"loc":{"start":{"line":40,"column":20},"end":{"line":44,"column":21}},"type":"if","locations":[{"start":{"line":40,"column":20},"end":{"line":44,"column":21}},{"start":{"line":40,"column":20},"end":{"line":44,"column":21}}],"line":40},"8":{"loc":{"start":{"line":40,"column":24},"end":{"line":40,"column":52}},"type":"binary-expr","locations":[{"start":{"line":40,"column":24},"end":{"line":40,"column":35}},{"start":{"line":40,"column":39},"end":{"line":40,"column":52}}],"line":40},"9":{"loc":{"start":{"line":42,"column":27},"end":{"line":44,"column":21}},"type":"if","locations":[{"start":{"line":42,"column":27},"end":{"line":44,"column":21}},{"start":{"line":42,"column":27},"end":{"line":44,"column":21}}],"line":42},"10":{"loc":{"start":{"line":42,"column":31},"end":{"line":42,"column":66}},"type":"binary-expr","locations":[{"start":{"line":42,"column":31},"end":{"line":42,"column":43}},{"start":{"line":42,"column":47},"end":{"line":42,"column":66}}],"line":42},"11":{"loc":{"start":{"line":50,"column":23},"end":{"line":52,"column":17}},"type":"if","locations":[{"start":{"line":50,"column":23},"end":{"line":52,"column":17}},{"start":{"line":50,"column":23},"end":{"line":52,"column":17}}],"line":50}},"s":{"0":180,"1":180,"2":3,"3":180,"4":1080,"5":217,"6":632,"7":632,"8":1,"9":631,"10":631,"11":126,"12":126,"13":126,"14":33,"15":93,"16":76,"17":126,"18":505,"19":504,"20":180},"f":{"0":180,"1":1080},"b":{"0":[3,177],"1":[180,177,4],"2":[217,863],"3":[1,631],"4":[632,632],"5":[126,505],"6":[631,531,439],"7":[33,93],"8":[126,34],"9":[76,17],"10":[93,92],"11":[504,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"879e23d0a6987a107ffb463fcd3c7a439c0ee4b2"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\index.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f33bab83c38085e3d1c5022482ffe41d60631534"} -,"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\types.ts": {"path":"C:\\Git\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\types.ts","statementMap":{"0":{"start":{"line":3,"column":42},"end":{"line":9,"column":1}},"1":{"start":{"line":4,"column":4},"end":{"line":5,"column":24}},"2":{"start":{"line":5,"column":8},"end":{"line":5,"column":24}},"3":{"start":{"line":6,"column":4},"end":{"line":7,"column":24}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":24}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":96}},"6":{"start":{"line":12,"column":4},"end":{"line":12,"column":35}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":35}},"8":{"start":{"line":20,"column":4},"end":{"line":20,"column":36}},"9":{"start":{"line":24,"column":4},"end":{"line":24,"column":68}},"10":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"11":{"start":{"line":32,"column":4},"end":{"line":32,"column":29}},"12":{"start":{"line":36,"column":4},"end":{"line":36,"column":24}},"13":{"start":{"line":40,"column":4},"end":{"line":40,"column":30}},"14":{"start":{"line":49,"column":19},"end":{"line":49,"column":38}},"15":{"start":{"line":50,"column":4},"end":{"line":50,"column":100}},"16":{"start":{"line":58,"column":4},"end":{"line":59,"column":21}},"17":{"start":{"line":59,"column":8},"end":{"line":59,"column":21}},"18":{"start":{"line":62,"column":18},"end":{"line":62,"column":29}},"19":{"start":{"line":63,"column":27},"end":{"line":63,"column":55}},"20":{"start":{"line":64,"column":30},"end":{"line":64,"column":69}},"21":{"start":{"line":65,"column":29},"end":{"line":65,"column":134}},"22":{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},"23":{"start":{"line":68,"column":8},"end":{"line":68,"column":21}},"24":{"start":{"line":71,"column":4},"end":{"line":71,"column":29}},"25":{"start":{"line":73,"column":4},"end":{"line":73,"column":61}},"26":{"start":{"line":81,"column":35},"end":{"line":81,"column":53}},"27":{"start":{"line":82,"column":25},"end":{"line":82,"column":95}},"28":{"start":{"line":83,"column":4},"end":{"line":85,"column":6}},"29":{"start":{"line":93,"column":4},"end":{"line":94,"column":21}},"30":{"start":{"line":94,"column":8},"end":{"line":94,"column":21}},"31":{"start":{"line":95,"column":4},"end":{"line":95,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":42},"end":{"line":3,"column":43}},"loc":{"start":{"line":3,"column":51},"end":{"line":9,"column":1}},"line":3},"1":{"name":"isNumber","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":24}},"loc":{"start":{"line":11,"column":50},"end":{"line":13,"column":1}},"line":11},"2":{"name":"isString","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":24}},"loc":{"start":{"line":15,"column":50},"end":{"line":17,"column":1}},"line":15},"3":{"name":"isBoolean","decl":{"start":{"line":19,"column":16},"end":{"line":19,"column":25}},"loc":{"start":{"line":19,"column":52},"end":{"line":21,"column":1}},"line":19},"4":{"name":"isObject","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":24}},"loc":{"start":{"line":23,"column":44},"end":{"line":25,"column":1}},"line":23},"5":{"name":"isFunction","decl":{"start":{"line":27,"column":16},"end":{"line":27,"column":26}},"loc":{"start":{"line":27,"column":54},"end":{"line":29,"column":1}},"line":27},"6":{"name":"isUndefined","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":27}},"loc":{"start":{"line":31,"column":56},"end":{"line":33,"column":1}},"line":31},"7":{"name":"isNull","decl":{"start":{"line":35,"column":16},"end":{"line":35,"column":22}},"loc":{"start":{"line":35,"column":46},"end":{"line":37,"column":1}},"line":35},"8":{"name":"isArray","decl":{"start":{"line":39,"column":16},"end":{"line":39,"column":23}},"loc":{"start":{"line":39,"column":53},"end":{"line":41,"column":1}},"line":39},"9":{"name":"isArrayLike","decl":{"start":{"line":48,"column":16},"end":{"line":48,"column":27}},"loc":{"start":{"line":48,"column":88},"end":{"line":51,"column":1}},"line":48},"10":{"name":"isPlainObject","decl":{"start":{"line":57,"column":16},"end":{"line":57,"column":29}},"loc":{"start":{"line":57,"column":72},"end":{"line":74,"column":1}},"line":57},"11":{"name":"isHTMLElement","decl":{"start":{"line":80,"column":16},"end":{"line":80,"column":29}},"loc":{"start":{"line":80,"column":60},"end":{"line":86,"column":1}},"line":80},"12":{"name":"isEmptyObject","decl":{"start":{"line":92,"column":16},"end":{"line":92,"column":29}},"loc":{"start":{"line":92,"column":49},"end":{"line":96,"column":1}},"line":92}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":4},"end":{"line":5,"column":24}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":5,"column":24}},{"start":{"line":4,"column":4},"end":{"line":5,"column":24}}],"line":4},"1":{"loc":{"start":{"line":6,"column":4},"end":{"line":7,"column":24}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":7,"column":24}},{"start":{"line":6,"column":4},"end":{"line":7,"column":24}}],"line":6},"2":{"loc":{"start":{"line":24,"column":11},"end":{"line":24,"column":67}},"type":"binary-expr","locations":[{"start":{"line":24,"column":11},"end":{"line":24,"column":34}},{"start":{"line":24,"column":38},"end":{"line":24,"column":51}},{"start":{"line":24,"column":55},"end":{"line":24,"column":67}}],"line":24},"3":{"loc":{"start":{"line":49,"column":19},"end":{"line":49,"column":38}},"type":"binary-expr","locations":[{"start":{"line":49,"column":19},"end":{"line":49,"column":24}},{"start":{"line":49,"column":28},"end":{"line":49,"column":38}}],"line":49},"4":{"loc":{"start":{"line":50,"column":11},"end":{"line":50,"column":99}},"type":"binary-expr","locations":[{"start":{"line":50,"column":11},"end":{"line":50,"column":23}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}},{"start":{"line":50,"column":48},"end":{"line":50,"column":64}},{"start":{"line":50,"column":68},"end":{"line":50,"column":79}},{"start":{"line":50,"column":83},"end":{"line":50,"column":98}}],"line":50},"5":{"loc":{"start":{"line":58,"column":4},"end":{"line":59,"column":21}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":59,"column":21}},{"start":{"line":58,"column":4},"end":{"line":59,"column":21}}],"line":58},"6":{"loc":{"start":{"line":58,"column":8},"end":{"line":58,"column":56}},"type":"binary-expr","locations":[{"start":{"line":58,"column":8},"end":{"line":58,"column":12}},{"start":{"line":58,"column":16},"end":{"line":58,"column":30}},{"start":{"line":58,"column":34},"end":{"line":58,"column":56}}],"line":58},"7":{"loc":{"start":{"line":65,"column":29},"end":{"line":65,"column":134}},"type":"binary-expr","locations":[{"start":{"line":65,"column":29},"end":{"line":65,"column":44}},{"start":{"line":65,"column":48},"end":{"line":65,"column":70}},{"start":{"line":65,"column":74},"end":{"line":65,"column":134}}],"line":65},"8":{"loc":{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},{"start":{"line":67,"column":4},"end":{"line":69,"column":5}}],"line":67},"9":{"loc":{"start":{"line":67,"column":8},"end":{"line":67,"column":66}},"type":"binary-expr","locations":[{"start":{"line":67,"column":8},"end":{"line":67,"column":23}},{"start":{"line":67,"column":27},"end":{"line":67,"column":45}},{"start":{"line":67,"column":49},"end":{"line":67,"column":66}}],"line":67},"10":{"loc":{"start":{"line":73,"column":11},"end":{"line":73,"column":60}},"type":"binary-expr","locations":[{"start":{"line":73,"column":11},"end":{"line":73,"column":27}},{"start":{"line":73,"column":31},"end":{"line":73,"column":60}}],"line":73},"11":{"loc":{"start":{"line":82,"column":25},"end":{"line":82,"column":95}},"type":"binary-expr","locations":[{"start":{"line":82,"column":25},"end":{"line":82,"column":57}},{"start":{"line":82,"column":61},"end":{"line":82,"column":95}}],"line":82},"12":{"loc":{"start":{"line":84,"column":8},"end":{"line":84,"column":133}},"type":"cond-expr","locations":[{"start":{"line":84,"column":23},"end":{"line":84,"column":60}},{"start":{"line":84,"column":64},"end":{"line":84,"column":132}}],"line":84},"13":{"loc":{"start":{"line":84,"column":64},"end":{"line":84,"column":132}},"type":"binary-expr","locations":[{"start":{"line":84,"column":64},"end":{"line":84,"column":67}},{"start":{"line":84,"column":71},"end":{"line":84,"column":84}},{"start":{"line":84,"column":88},"end":{"line":84,"column":106}},{"start":{"line":84,"column":110},"end":{"line":84,"column":132}}],"line":84}},"s":{"0":11,"1":576,"2":1,"3":575,"4":48,"5":527,"6":97,"7":114,"8":28,"9":1605,"10":464,"11":611,"12":500,"13":2666,"14":761,"15":761,"16":1337,"17":1123,"18":214,"19":214,"20":214,"21":214,"22":214,"23":3,"24":211,"25":211,"26":358,"27":358,"28":358,"29":105,"30":42,"31":63},"f":{"0":576,"1":97,"2":114,"3":28,"4":1605,"5":464,"6":611,"7":500,"8":2666,"9":761,"10":1337,"11":358,"12":105},"b":{"0":[1,575],"1":[48,527],"2":[1605,448,295],"3":[761,754],"4":[761,74,69,19,19],"5":[1123,214],"6":[1337,1181,224],"7":[214,213,213],"8":[3,211],"9":[214,213,213],"10":[211,205],"11":[358,358],"12":[327,31],"13":[31,26,15,4]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0a3dad4d32d7fcafccb526c1299180144d17ce63"} +{"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\instances.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\instances.ts","statementMap":{"0":{"start":{"line":1,"column":30},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":49},"end":{"line":2,"column":62}},"2":{"start":{"line":9,"column":71},"end":{"line":12,"column":1}},"3":{"start":{"line":10,"column":2},"end":{"line":10,"column":44}},"4":{"start":{"line":11,"column":2},"end":{"line":11,"column":22}},"5":{"start":{"line":18,"column":57},"end":{"line":21,"column":1}},"6":{"start":{"line":19,"column":2},"end":{"line":19,"column":35}},"7":{"start":{"line":20,"column":2},"end":{"line":20,"column":25}},"8":{"start":{"line":27,"column":53},"end":{"line":27,"column":94}},"9":{"start":{"line":27,"column":65},"end":{"line":27,"column":94}},"10":{"start":{"line":33,"column":61},"end":{"line":50,"column":1}},"11":{"start":{"line":34,"column":52},"end":{"line":34,"column":61}},"12":{"start":{"line":36,"column":2},"end":{"line":41,"column":5}},"13":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"14":{"start":{"line":39,"column":6},"end":{"line":39,"column":72}},"15":{"start":{"line":43,"column":2},"end":{"line":43,"column":18}},"16":{"start":{"line":45,"column":2},"end":{"line":47,"column":5}},"17":{"start":{"line":46,"column":4},"end":{"line":46,"column":29}},"18":{"start":{"line":49,"column":2},"end":{"line":49,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":71},"end":{"line":9,"column":72}},"loc":{"start":{"line":9,"column":95},"end":{"line":12,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":57},"end":{"line":18,"column":58}},"loc":{"start":{"line":18,"column":69},"end":{"line":21,"column":1}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":53},"end":{"line":27,"column":54}},"loc":{"start":{"line":27,"column":65},"end":{"line":27,"column":94}},"line":27},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":61},"end":{"line":33,"column":62}},"loc":{"start":{"line":33,"column":67},"end":{"line":50,"column":1}},"line":33},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":18},"end":{"line":36,"column":19}},"loc":{"start":{"line":36,"column":39},"end":{"line":41,"column":3}},"line":36},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":33},"end":{"line":45,"column":34}},"loc":{"start":{"line":45,"column":74},"end":{"line":47,"column":3}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":40,"column":5}}],"line":38}},"s":{"0":1,"1":1,"2":1,"3":3,"4":3,"5":1,"6":4,"7":4,"8":1,"9":1,"10":1,"11":2,"12":2,"13":1,"14":1,"15":2,"16":2,"17":1,"18":2},"f":{"0":3,"1":4,"2":1,"3":2,"4":1,"5":1},"b":{"0":[1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"17f9344e3f6e880ed103fe165c22cf2e40345862"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\options.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\options.ts","statementMap":{"0":{"start":{"line":5,"column":68},"end":{"line":5,"column":96}},"1":{"start":{"line":6,"column":58},"end":{"line":6,"column":71}},"2":{"start":{"line":7,"column":71},"end":{"line":7,"column":100}},"3":{"start":{"line":8,"column":90},"end":{"line":8,"column":132}},"4":{"start":{"line":9,"column":69},"end":{"line":9,"column":91}},"5":{"start":{"line":10,"column":70},"end":{"line":10,"column":93}},"6":{"start":{"line":11,"column":70},"end":{"line":11,"column":108}},"7":{"start":{"line":12,"column":84},"end":{"line":12,"column":115}},"8":{"start":{"line":13,"column":96},"end":{"line":13,"column":141}},"9":{"start":{"line":14,"column":102},"end":{"line":14,"column":123}},"10":{"start":{"line":15,"column":98},"end":{"line":15,"column":122}},"11":{"start":{"line":32,"column":99},"end":{"line":78,"column":1}},"12":{"start":{"line":80,"column":85},"end":{"line":80,"column":128}},"13":{"start":{"line":81,"column":57},"end":{"line":81,"column":94}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a52393a8585ee14790a2eb08060d4e1026514723"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\compatibility\\vendors.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\compatibility\\vendors.ts","statementMap":{"0":{"start":{"line":4,"column":52},"end":{"line":4,"column":103}},"1":{"start":{"line":4,"column":61},"end":{"line":4,"column":103}},"2":{"start":{"line":5,"column":49},"end":{"line":5,"column":72}},"3":{"start":{"line":5,"column":55},"end":{"line":5,"column":72}},"4":{"start":{"line":9,"column":50},"end":{"line":9,"column":86}},"5":{"start":{"line":10,"column":49},"end":{"line":10,"column":105}},"6":{"start":{"line":12,"column":47},"end":{"line":12,"column":49}},"7":{"start":{"line":13,"column":51},"end":{"line":13,"column":53}},"8":{"start":{"line":19,"column":65},"end":{"line":43,"column":1}},"9":{"start":{"line":20,"column":35},"end":{"line":20,"column":49}},"10":{"start":{"line":22,"column":2},"end":{"line":24,"column":3}},"11":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"12":{"start":{"line":26,"column":33},"end":{"line":26,"column":57}},"13":{"start":{"line":27,"column":40},"end":{"line":27,"column":55}},"14":{"start":{"line":29,"column":2},"end":{"line":39,"column":5}},"15":{"start":{"line":30,"column":40},"end":{"line":30,"column":64}},"16":{"start":{"line":31,"column":47},"end":{"line":36,"column":5}},"17":{"start":{"line":37,"column":4},"end":{"line":37,"column":112}},"18":{"start":{"line":37,"column":69},"end":{"line":37,"column":110}},"19":{"start":{"line":38,"column":4},"end":{"line":38,"column":19}},"20":{"start":{"line":41,"column":2},"end":{"line":41,"column":26}},"21":{"start":{"line":42,"column":2},"end":{"line":42,"column":16}},"22":{"start":{"line":51,"column":107},"end":{"line":78,"column":1}},"23":{"start":{"line":52,"column":15},"end":{"line":52,"column":38}},"24":{"start":{"line":53,"column":35},"end":{"line":53,"column":49}},"25":{"start":{"line":55,"column":2},"end":{"line":57,"column":3}},"26":{"start":{"line":56,"column":4},"end":{"line":56,"column":18}},"27":{"start":{"line":59,"column":42},"end":{"line":59,"column":57}},"28":{"start":{"line":60,"column":39},"end":{"line":60,"column":56}},"29":{"start":{"line":61,"column":33},"end":{"line":61,"column":45}},"30":{"start":{"line":62,"column":36},"end":{"line":62,"column":60}},"31":{"start":{"line":64,"column":2},"end":{"line":74,"column":5}},"32":{"start":{"line":65,"column":4},"end":{"line":72,"column":7}},"33":{"start":{"line":66,"column":19},"end":{"line":66,"column":41}},"34":{"start":{"line":67,"column":6},"end":{"line":67,"column":66}},"35":{"start":{"line":68,"column":6},"end":{"line":71,"column":7}},"36":{"start":{"line":69,"column":8},"end":{"line":69,"column":22}},"37":{"start":{"line":70,"column":8},"end":{"line":70,"column":21}},"38":{"start":{"line":73,"column":4},"end":{"line":73,"column":19}},"39":{"start":{"line":76,"column":2},"end":{"line":76,"column":26}},"40":{"start":{"line":77,"column":2},"end":{"line":77,"column":16}},"41":{"start":{"line":84,"column":44},"end":{"line":98,"column":1}},"42":{"start":{"line":85,"column":20},"end":{"line":85,"column":49}},"43":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"44":{"start":{"line":88,"column":4},"end":{"line":88,"column":18}},"45":{"start":{"line":91,"column":2},"end":{"line":94,"column":5}},"46":{"start":{"line":92,"column":4},"end":{"line":92,"column":65}},"47":{"start":{"line":93,"column":4},"end":{"line":93,"column":19}},"48":{"start":{"line":96,"column":2},"end":{"line":96,"column":25}},"49":{"start":{"line":97,"column":2},"end":{"line":97,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":52},"end":{"line":4,"column":53}},"loc":{"start":{"line":4,"column":61},"end":{"line":4,"column":103}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":49},"end":{"line":5,"column":50}},"loc":{"start":{"line":5,"column":55},"end":{"line":5,"column":72}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":65},"end":{"line":19,"column":66}},"loc":{"start":{"line":19,"column":75},"end":{"line":43,"column":1}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":20},"end":{"line":29,"column":21}},"loc":{"start":{"line":29,"column":40},"end":{"line":39,"column":3}},"line":29},"4":{"name":"(anonymous_4)","decl":{"start":{"line":37,"column":38},"end":{"line":37,"column":39}},"loc":{"start":{"line":37,"column":69},"end":{"line":37,"column":110}},"line":37},"5":{"name":"(anonymous_5)","decl":{"start":{"line":51,"column":107},"end":{"line":51,"column":108}},"loc":{"start":{"line":51,"column":137},"end":{"line":78,"column":1}},"line":51},"6":{"name":"(anonymous_6)","decl":{"start":{"line":64,"column":22},"end":{"line":64,"column":23}},"loc":{"start":{"line":64,"column":49},"end":{"line":74,"column":3}},"line":64},"7":{"name":"(anonymous_7)","decl":{"start":{"line":65,"column":36},"end":{"line":65,"column":37}},"loc":{"start":{"line":65,"column":56},"end":{"line":72,"column":5}},"line":65},"8":{"name":"(anonymous_8)","decl":{"start":{"line":84,"column":44},"end":{"line":84,"column":45}},"loc":{"start":{"line":84,"column":54},"end":{"line":98,"column":1}},"line":84},"9":{"name":"(anonymous_9)","decl":{"start":{"line":91,"column":19},"end":{"line":91,"column":20}},"loc":{"start":{"line":91,"column":39},"end":{"line":94,"column":3}},"line":91}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":2},"end":{"line":24,"column":3}},"type":"if","locations":[{"start":{"line":22,"column":2},"end":{"line":24,"column":3}},{"start":{"line":22,"column":2},"end":{"line":24,"column":3}}],"line":22},"1":{"loc":{"start":{"line":55,"column":2},"end":{"line":57,"column":3}},"type":"if","locations":[{"start":{"line":55,"column":2},"end":{"line":57,"column":3}},{"start":{"line":55,"column":2},"end":{"line":57,"column":3}}],"line":55},"2":{"loc":{"start":{"line":61,"column":33},"end":{"line":61,"column":45}},"type":"binary-expr","locations":[{"start":{"line":61,"column":33},"end":{"line":61,"column":39}},{"start":{"line":61,"column":43},"end":{"line":61,"column":45}}],"line":61},"3":{"loc":{"start":{"line":68,"column":6},"end":{"line":71,"column":7}},"type":"if","locations":[{"start":{"line":68,"column":6},"end":{"line":71,"column":7}},{"start":{"line":68,"column":6},"end":{"line":71,"column":7}}],"line":68},"4":{"loc":{"start":{"line":85,"column":20},"end":{"line":85,"column":49}},"type":"binary-expr","locations":[{"start":{"line":85,"column":20},"end":{"line":85,"column":33}},{"start":{"line":85,"column":37},"end":{"line":85,"column":49}}],"line":85},"5":{"loc":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},{"start":{"line":87,"column":2},"end":{"line":89,"column":3}}],"line":87},"6":{"loc":{"start":{"line":92,"column":13},"end":{"line":92,"column":64}},"type":"binary-expr","locations":[{"start":{"line":92,"column":13},"end":{"line":92,"column":19}},{"start":{"line":92,"column":23},"end":{"line":92,"column":64}}],"line":92}},"s":{"0":1,"1":20,"2":1,"3":10,"4":1,"5":1,"6":1,"7":1,"8":1,"9":4,"10":4,"11":1,"12":3,"13":3,"14":3,"15":9,"16":9,"17":9,"18":33,"19":9,"20":3,"21":3,"22":1,"23":11,"24":11,"25":11,"26":4,"27":7,"28":7,"29":7,"30":7,"31":7,"32":10,"33":42,"34":42,"35":42,"36":2,"37":2,"38":10,"39":7,"40":7,"41":1,"42":5,"43":5,"44":1,"45":4,"46":11,"47":11,"48":4,"49":4},"f":{"0":20,"1":10,"2":4,"3":9,"4":33,"5":11,"6":10,"7":42,"8":5,"9":11},"b":{"0":[1,3],"1":[4,7],"2":[7,5],"3":[2,40],"4":[5,4],"5":[1,4],"6":[11,8]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f54c08b54c19690cbb3a2a74accc552cd98bf168"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\attributes.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\attributes.ts","statementMap":{"0":{"start":{"line":8,"column":94},"end":{"line":13,"column":1}},"1":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"2":{"start":{"line":10,"column":4},"end":{"line":10,"column":38}},"3":{"start":{"line":12,"column":2},"end":{"line":12,"column":36}},"4":{"start":{"line":20,"column":68},"end":{"line":22,"column":1}},"5":{"start":{"line":21,"column":2},"end":{"line":21,"column":32}},"6":{"start":{"line":29,"column":79},"end":{"line":34,"column":1}},"7":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":26}},"9":{"start":{"line":33,"column":2},"end":{"line":33,"column":25}},"10":{"start":{"line":41,"column":78},"end":{"line":46,"column":1}},"11":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"12":{"start":{"line":43,"column":4},"end":{"line":43,"column":25}},"13":{"start":{"line":45,"column":2},"end":{"line":45,"column":24}},"14":{"start":{"line":53,"column":77},"end":{"line":58,"column":1}},"15":{"start":{"line":54,"column":2},"end":{"line":56,"column":3}},"16":{"start":{"line":55,"column":4},"end":{"line":55,"column":21}},"17":{"start":{"line":57,"column":2},"end":{"line":57,"column":20}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":94},"end":{"line":8,"column":95}},"loc":{"start":{"line":8,"column":120},"end":{"line":13,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":68},"end":{"line":20,"column":69}},"loc":{"start":{"line":20,"column":87},"end":{"line":22,"column":1}},"line":20},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":79},"end":{"line":29,"column":80}},"loc":{"start":{"line":29,"column":95},"end":{"line":34,"column":1}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":78},"end":{"line":41,"column":79}},"loc":{"start":{"line":41,"column":94},"end":{"line":46,"column":1}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":77},"end":{"line":53,"column":78}},"loc":{"start":{"line":53,"column":93},"end":{"line":58,"column":1}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":11,"column":3}},{"start":{"line":9,"column":2},"end":{"line":11,"column":3}}],"line":9},"1":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}],"line":30},"2":{"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},{"start":{"line":42,"column":2},"end":{"line":44,"column":3}}],"line":42},"3":{"loc":{"start":{"line":54,"column":2},"end":{"line":56,"column":3}},"type":"if","locations":[{"start":{"line":54,"column":2},"end":{"line":56,"column":3}},{"start":{"line":54,"column":2},"end":{"line":56,"column":3}}],"line":54}},"s":{"0":4,"1":7,"2":5,"3":2,"4":4,"5":1,"6":4,"7":3,"8":2,"9":1,"10":4,"11":3,"12":2,"13":1,"14":4,"15":5,"16":3,"17":2},"f":{"0":7,"1":1,"2":3,"3":3,"4":5},"b":{"0":[5,2],"1":[2,1],"2":[2,1],"3":[3,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f74df06dbd0c5070ded9806610e7fe7a51f7e49c"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\classes.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\classes.ts","statementMap":{"0":{"start":{"line":3,"column":22},"end":{"line":3,"column":41}},"1":{"start":{"line":10,"column":70},"end":{"line":10,"column":123}},"2":{"start":{"line":10,"column":90},"end":{"line":10,"column":123}},"3":{"start":{"line":17,"column":67},"end":{"line":27,"column":1}},"4":{"start":{"line":19,"column":10},"end":{"line":19,"column":11}},"5":{"start":{"line":21,"column":2},"end":{"line":26,"column":3}},"6":{"start":{"line":22,"column":35},"end":{"line":22,"column":71}},"7":{"start":{"line":23,"column":4},"end":{"line":25,"column":5}},"8":{"start":{"line":24,"column":6},"end":{"line":24,"column":31}},"9":{"start":{"line":34,"column":70},"end":{"line":44,"column":1}},"10":{"start":{"line":36,"column":10},"end":{"line":36,"column":11}},"11":{"start":{"line":38,"column":2},"end":{"line":43,"column":3}},"12":{"start":{"line":39,"column":35},"end":{"line":39,"column":71}},"13":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"14":{"start":{"line":41,"column":6},"end":{"line":41,"column":34}},"15":{"start":{"line":52,"column":95},"end":{"line":58,"column":1}},"16":{"start":{"line":53,"column":2},"end":{"line":57,"column":3}},"17":{"start":{"line":54,"column":4},"end":{"line":54,"column":29}},"18":{"start":{"line":56,"column":4},"end":{"line":56,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":70},"end":{"line":10,"column":71}},"loc":{"start":{"line":10,"column":90},"end":{"line":10,"column":123}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":67},"end":{"line":17,"column":68}},"loc":{"start":{"line":17,"column":87},"end":{"line":27,"column":1}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":70},"end":{"line":34,"column":71}},"loc":{"start":{"line":34,"column":90},"end":{"line":44,"column":1}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":95},"end":{"line":52,"column":96}},"loc":{"start":{"line":52,"column":126},"end":{"line":58,"column":1}},"line":52}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":2},"end":{"line":26,"column":3}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":26,"column":3}},{"start":{"line":21,"column":2},"end":{"line":26,"column":3}}],"line":21},"1":{"loc":{"start":{"line":22,"column":35},"end":{"line":22,"column":71}},"type":"binary-expr","locations":[{"start":{"line":22,"column":35},"end":{"line":22,"column":65}},{"start":{"line":22,"column":69},"end":{"line":22,"column":71}}],"line":22},"2":{"loc":{"start":{"line":38,"column":2},"end":{"line":43,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":43,"column":3}},{"start":{"line":38,"column":2},"end":{"line":43,"column":3}}],"line":38},"3":{"loc":{"start":{"line":39,"column":35},"end":{"line":39,"column":71}},"type":"binary-expr","locations":[{"start":{"line":39,"column":35},"end":{"line":39,"column":65}},{"start":{"line":39,"column":69},"end":{"line":39,"column":71}}],"line":39},"4":{"loc":{"start":{"line":53,"column":2},"end":{"line":57,"column":3}},"type":"if","locations":[{"start":{"line":53,"column":2},"end":{"line":57,"column":3}},{"start":{"line":53,"column":2},"end":{"line":57,"column":3}}],"line":53}},"s":{"0":4,"1":4,"2":7,"3":4,"4":11,"5":11,"6":9,"7":9,"8":11,"9":4,"10":7,"11":7,"12":5,"13":5,"14":6,"15":4,"16":4,"17":2,"18":2},"f":{"0":7,"1":11,"2":7,"3":4},"b":{"0":[9,2],"1":[9,1],"2":[5,2],"3":[5,1],"4":[2,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"084fad57e0e8ea912a85b609a33c26729047477a"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\create.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\create.ts","statementMap":{"0":{"start":{"line":5,"column":47},"end":{"line":5,"column":82}},"1":{"start":{"line":5,"column":53},"end":{"line":5,"column":82}},"2":{"start":{"line":7,"column":64},"end":{"line":12,"column":1}},"3":{"start":{"line":8,"column":21},"end":{"line":8,"column":32}},"4":{"start":{"line":9,"column":2},"end":{"line":9,"column":37}},"5":{"start":{"line":11,"column":2},"end":{"line":11,"column":66}},"6":{"start":{"line":11,"column":45},"end":{"line":11,"column":64}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":47},"end":{"line":5,"column":48}},"loc":{"start":{"line":5,"column":53},"end":{"line":5,"column":82}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":64},"end":{"line":7,"column":65}},"loc":{"start":{"line":7,"column":74},"end":{"line":12,"column":1}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":36},"end":{"line":11,"column":37}},"loc":{"start":{"line":11,"column":45},"end":{"line":11,"column":64}},"line":11}},"branchMap":{},"s":{"0":4,"1":204,"2":4,"3":3,"4":3,"5":3,"6":9},"f":{"0":204,"1":3,"2":9},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ba22621717e4be9b35da2ed151e6b28cb806a48b"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\index.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6b31aa5fc7ed5da8d2cf0825ed707578b6517fa7"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\manipulation.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\manipulation.ts","statementMap":{"0":{"start":{"line":13,"column":109},"end":{"line":50,"column":1}},"1":{"start":{"line":18,"column":2},"end":{"line":49,"column":3}},"2":{"start":{"line":19,"column":30},"end":{"line":19,"column":45}},"3":{"start":{"line":23,"column":4},"end":{"line":48,"column":5}},"4":{"start":{"line":24,"column":6},"end":{"line":36,"column":7}},"5":{"start":{"line":25,"column":8},"end":{"line":25,"column":53}},"6":{"start":{"line":28,"column":8},"end":{"line":33,"column":11}},"7":{"start":{"line":29,"column":10},"end":{"line":31,"column":11}},"8":{"start":{"line":30,"column":12},"end":{"line":30,"column":49}},"9":{"start":{"line":32,"column":10},"end":{"line":32,"column":45}},"10":{"start":{"line":35,"column":8},"end":{"line":35,"column":32}},"11":{"start":{"line":39,"column":6},"end":{"line":45,"column":7}},"12":{"start":{"line":40,"column":8},"end":{"line":44,"column":9}},"13":{"start":{"line":41,"column":10},"end":{"line":41,"column":40}},"14":{"start":{"line":42,"column":15},"end":{"line":44,"column":9}},"15":{"start":{"line":43,"column":10},"end":{"line":43,"column":38}},"16":{"start":{"line":47,"column":6},"end":{"line":47,"column":47}},"17":{"start":{"line":57,"column":85},"end":{"line":59,"column":1}},"18":{"start":{"line":58,"column":2},"end":{"line":58,"column":31}},"19":{"start":{"line":66,"column":86},"end":{"line":68,"column":1}},"20":{"start":{"line":67,"column":2},"end":{"line":67,"column":50}},"21":{"start":{"line":75,"column":88},"end":{"line":77,"column":1}},"22":{"start":{"line":76,"column":2},"end":{"line":76,"column":44}},"23":{"start":{"line":84,"column":87},"end":{"line":86,"column":1}},"24":{"start":{"line":85,"column":2},"end":{"line":85,"column":64}},"25":{"start":{"line":92,"column":63},"end":{"line":101,"column":1}},"26":{"start":{"line":93,"column":2},"end":{"line":100,"column":3}},"27":{"start":{"line":94,"column":4},"end":{"line":94,"column":54}},"28":{"start":{"line":94,"column":35},"end":{"line":94,"column":52}},"29":{"start":{"line":95,"column":9},"end":{"line":100,"column":3}},"30":{"start":{"line":96,"column":27},"end":{"line":96,"column":32}},"31":{"start":{"line":97,"column":4},"end":{"line":99,"column":5}},"32":{"start":{"line":98,"column":6},"end":{"line":98,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":109},"end":{"line":13,"column":110}},"loc":{"start":{"line":17,"column":5},"end":{"line":50,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":27},"end":{"line":28,"column":28}},"loc":{"start":{"line":28,"column":44},"end":{"line":33,"column":9}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":85},"end":{"line":57,"column":86}},"loc":{"start":{"line":57,"column":105},"end":{"line":59,"column":1}},"line":57},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":86},"end":{"line":66,"column":87}},"loc":{"start":{"line":66,"column":106},"end":{"line":68,"column":1}},"line":66},"4":{"name":"(anonymous_4)","decl":{"start":{"line":75,"column":88},"end":{"line":75,"column":89}},"loc":{"start":{"line":75,"column":113},"end":{"line":77,"column":1}},"line":75},"5":{"name":"(anonymous_5)","decl":{"start":{"line":84,"column":87},"end":{"line":84,"column":88}},"loc":{"start":{"line":84,"column":112},"end":{"line":86,"column":1}},"line":84},"6":{"name":"(anonymous_6)","decl":{"start":{"line":92,"column":63},"end":{"line":92,"column":64}},"loc":{"start":{"line":92,"column":74},"end":{"line":101,"column":1}},"line":92},"7":{"name":"(anonymous_7)","decl":{"start":{"line":94,"column":28},"end":{"line":94,"column":29}},"loc":{"start":{"line":94,"column":35},"end":{"line":94,"column":52}},"line":94}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":49,"column":3}},{"start":{"line":18,"column":2},"end":{"line":49,"column":3}}],"line":18},"1":{"loc":{"start":{"line":23,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":48,"column":5}},{"start":{"line":23,"column":4},"end":{"line":48,"column":5}}],"line":23},"2":{"loc":{"start":{"line":24,"column":6},"end":{"line":36,"column":7}},"type":"if","locations":[{"start":{"line":24,"column":6},"end":{"line":36,"column":7}},{"start":{"line":24,"column":6},"end":{"line":36,"column":7}}],"line":24},"3":{"loc":{"start":{"line":29,"column":10},"end":{"line":31,"column":11}},"type":"if","locations":[{"start":{"line":29,"column":10},"end":{"line":31,"column":11}},{"start":{"line":29,"column":10},"end":{"line":31,"column":11}}],"line":29},"4":{"loc":{"start":{"line":39,"column":6},"end":{"line":45,"column":7}},"type":"if","locations":[{"start":{"line":39,"column":6},"end":{"line":45,"column":7}},{"start":{"line":39,"column":6},"end":{"line":45,"column":7}}],"line":39},"5":{"loc":{"start":{"line":40,"column":8},"end":{"line":44,"column":9}},"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":44,"column":9}},{"start":{"line":40,"column":8},"end":{"line":44,"column":9}}],"line":40},"6":{"loc":{"start":{"line":42,"column":15},"end":{"line":44,"column":9}},"type":"if","locations":[{"start":{"line":42,"column":15},"end":{"line":44,"column":9}},{"start":{"line":42,"column":15},"end":{"line":44,"column":9}}],"line":42},"7":{"loc":{"start":{"line":67,"column":15},"end":{"line":67,"column":38}},"type":"binary-expr","locations":[{"start":{"line":67,"column":15},"end":{"line":67,"column":19}},{"start":{"line":67,"column":23},"end":{"line":67,"column":38}}],"line":67},"8":{"loc":{"start":{"line":85,"column":23},"end":{"line":85,"column":47}},"type":"binary-expr","locations":[{"start":{"line":85,"column":23},"end":{"line":85,"column":27}},{"start":{"line":85,"column":31},"end":{"line":85,"column":47}}],"line":85},"9":{"loc":{"start":{"line":93,"column":2},"end":{"line":100,"column":3}},"type":"if","locations":[{"start":{"line":93,"column":2},"end":{"line":100,"column":3}},{"start":{"line":93,"column":2},"end":{"line":100,"column":3}}],"line":93},"10":{"loc":{"start":{"line":95,"column":9},"end":{"line":100,"column":3}},"type":"if","locations":[{"start":{"line":95,"column":9},"end":{"line":100,"column":3}},{"start":{"line":95,"column":9},"end":{"line":100,"column":3}}],"line":95},"11":{"loc":{"start":{"line":97,"column":4},"end":{"line":99,"column":5}},"type":"if","locations":[{"start":{"line":97,"column":4},"end":{"line":99,"column":5}},{"start":{"line":97,"column":4},"end":{"line":99,"column":5}}],"line":97}},"s":{"0":4,"1":24,"2":20,"3":20,"4":16,"5":8,"6":8,"7":24,"8":3,"9":24,"10":8,"11":16,"12":12,"13":1,"14":11,"15":2,"16":16,"17":4,"18":6,"19":4,"20":6,"21":4,"22":6,"23":4,"24":6,"25":4,"26":23,"27":2,"28":9,"29":21,"30":20,"31":20,"32":15},"f":{"0":24,"1":24,"2":6,"3":6,"4":6,"5":6,"6":23,"7":9},"b":{"0":[20,4],"1":[16,4],"2":[8,8],"3":[3,21],"4":[12,4],"5":[1,11],"6":[2,9],"7":[6,5],"8":[6,5],"9":[2,21],"10":[20,1],"11":[15,5]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3702dc2985c5fcb4037464125bf2765a0d14dc77"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\offset.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\offset.ts","statementMap":{"0":{"start":{"line":1,"column":22},"end":{"line":7,"column":1}},"1":{"start":{"line":2,"column":15},"end":{"line":2,"column":42}},"2":{"start":{"line":3,"column":2},"end":{"line":6,"column":4}},"3":{"start":{"line":9,"column":24},"end":{"line":12,"column":2}},"4":{"start":{"line":9,"column":47},"end":{"line":12,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":44},"end":{"line":7,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":25}},"loc":{"start":{"line":9,"column":47},"end":{"line":12,"column":1}},"line":9}},"branchMap":{},"s":{"0":3,"1":0,"2":0,"3":3,"4":0},"f":{"0":0,"1":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"979a84f27d8862ff69ea2eb04c11c93d1e2dd330"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\style.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\style.ts","statementMap":{"0":{"start":{"line":5,"column":18},"end":{"line":19,"column":1}},"1":{"start":{"line":21,"column":77},"end":{"line":22,"column":68}},"2":{"start":{"line":22,"column":2},"end":{"line":22,"column":68}},"3":{"start":{"line":24,"column":82},"end":{"line":30,"column":1}},"4":{"start":{"line":25,"column":2},"end":{"line":29,"column":16}},"5":{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},"6":{"start":{"line":27,"column":6},"end":{"line":27,"column":47}},"7":{"start":{"line":35,"column":22},"end":{"line":35,"column":45}},"8":{"start":{"line":37,"column":2},"end":{"line":47,"column":3}},"9":{"start":{"line":38,"column":4},"end":{"line":43,"column":5}},"10":{"start":{"line":39,"column":44},"end":{"line":39,"column":66}},"11":{"start":{"line":42,"column":6},"end":{"line":42,"column":86}},"12":{"start":{"line":44,"column":4},"end":{"line":44,"column":32}},"13":{"start":{"line":46,"column":4},"end":{"line":46,"column":75}},"14":{"start":{"line":46,"column":41},"end":{"line":46,"column":73}},"15":{"start":{"line":50,"column":48},"end":{"line":52,"column":1}},"16":{"start":{"line":51,"column":2},"end":{"line":51,"column":29}},"17":{"start":{"line":54,"column":48},"end":{"line":56,"column":1}},"18":{"start":{"line":55,"column":2},"end":{"line":55,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":77},"end":{"line":21,"column":78}},"loc":{"start":{"line":22,"column":2},"end":{"line":22,"column":68}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":82},"end":{"line":24,"column":83}},"loc":{"start":{"line":24,"column":102},"end":{"line":30,"column":1}},"line":24},"2":{"name":"style","decl":{"start":{"line":34,"column":16},"end":{"line":34,"column":21}},"loc":{"start":{"line":34,"column":108},"end":{"line":48,"column":1}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":32},"end":{"line":46,"column":33}},"loc":{"start":{"line":46,"column":41},"end":{"line":46,"column":73}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":50,"column":48},"end":{"line":50,"column":49}},"loc":{"start":{"line":50,"column":57},"end":{"line":52,"column":1}},"line":50},"5":{"name":"(anonymous_5)","decl":{"start":{"line":54,"column":48},"end":{"line":54,"column":49}},"loc":{"start":{"line":54,"column":57},"end":{"line":56,"column":1}},"line":54}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":2},"end":{"line":22,"column":68}},"type":"cond-expr","locations":[{"start":{"line":22,"column":52},"end":{"line":22,"column":62}},{"start":{"line":22,"column":65},"end":{"line":22,"column":68}}],"line":22},"1":{"loc":{"start":{"line":22,"column":2},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":2},"end":{"line":22,"column":32}},{"start":{"line":22,"column":36},"end":{"line":22,"column":49}}],"line":22},"2":{"loc":{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},{"start":{"line":26,"column":4},"end":{"line":28,"column":5}}],"line":26},"3":{"loc":{"start":{"line":37,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":47,"column":3}},{"start":{"line":37,"column":2},"end":{"line":47,"column":3}}],"line":37},"4":{"loc":{"start":{"line":38,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":43,"column":5}},{"start":{"line":38,"column":4},"end":{"line":43,"column":5}}],"line":38},"5":{"loc":{"start":{"line":42,"column":13},"end":{"line":42,"column":85}},"type":"cond-expr","locations":[{"start":{"line":42,"column":32},"end":{"line":42,"column":65}},{"start":{"line":42,"column":68},"end":{"line":42,"column":85}}],"line":42}},"s":{"0":3,"1":3,"2":0,"3":3,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":3,"16":0,"17":3,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0e5fc12de34606c8ea07c428caffa6c6733145bc"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\traversal.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\traversal.ts","statementMap":{"0":{"start":{"line":3,"column":56},"end":{"line":3,"column":135}},"1":{"start":{"line":3,"column":65},"end":{"line":3,"column":135}},"2":{"start":{"line":5,"column":88},"end":{"line":13,"column":1}},"3":{"start":{"line":6,"column":30},"end":{"line":6,"column":32}},"4":{"start":{"line":8,"column":2},"end":{"line":10,"column":5}},"5":{"start":{"line":9,"column":4},"end":{"line":9,"column":16}},"6":{"start":{"line":12,"column":2},"end":{"line":12,"column":13}},"7":{"start":{"line":15,"column":85},"end":{"line":15,"column":146}},"8":{"start":{"line":15,"column":105},"end":{"line":15,"column":146}},"9":{"start":{"line":17,"column":70},"end":{"line":30,"column":1}},"10":{"start":{"line":18,"column":2},"end":{"line":28,"column":3}},"11":{"start":{"line":19,"column":4},"end":{"line":21,"column":5}},"12":{"start":{"line":20,"column":6},"end":{"line":20,"column":50}},"13":{"start":{"line":22,"column":4},"end":{"line":24,"column":5}},"14":{"start":{"line":23,"column":6},"end":{"line":23,"column":51}},"15":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"16":{"start":{"line":26,"column":6},"end":{"line":26,"column":18}},"17":{"start":{"line":29,"column":2},"end":{"line":29,"column":15}},"18":{"start":{"line":32,"column":92},"end":{"line":46,"column":1}},"19":{"start":{"line":33,"column":33},"end":{"line":33,"column":35}},"20":{"start":{"line":35,"column":2},"end":{"line":43,"column":5}},"21":{"start":{"line":36,"column":4},"end":{"line":42,"column":5}},"22":{"start":{"line":37,"column":6},"end":{"line":39,"column":7}},"23":{"start":{"line":38,"column":8},"end":{"line":38,"column":27}},"24":{"start":{"line":41,"column":6},"end":{"line":41,"column":25}},"25":{"start":{"line":45,"column":2},"end":{"line":45,"column":16}},"26":{"start":{"line":48,"column":75},"end":{"line":48,"column":134}},"27":{"start":{"line":48,"column":85},"end":{"line":48,"column":133}},"28":{"start":{"line":50,"column":57},"end":{"line":50,"column":98}},"29":{"start":{"line":50,"column":67},"end":{"line":50,"column":97}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":56},"end":{"line":3,"column":57}},"loc":{"start":{"line":3,"column":65},"end":{"line":3,"column":135}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":88},"end":{"line":5,"column":89}},"loc":{"start":{"line":5,"column":108},"end":{"line":13,"column":1}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":53},"end":{"line":8,"column":54}},"loc":{"start":{"line":8,"column":69},"end":{"line":10,"column":3}},"line":8},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":85},"end":{"line":15,"column":86}},"loc":{"start":{"line":15,"column":105},"end":{"line":15,"column":146}},"line":15},"4":{"name":"(anonymous_4)","decl":{"start":{"line":17,"column":70},"end":{"line":17,"column":71}},"loc":{"start":{"line":17,"column":89},"end":{"line":30,"column":1}},"line":17},"5":{"name":"(anonymous_5)","decl":{"start":{"line":32,"column":92},"end":{"line":32,"column":93}},"loc":{"start":{"line":32,"column":112},"end":{"line":46,"column":1}},"line":32},"6":{"name":"(anonymous_6)","decl":{"start":{"line":35,"column":28},"end":{"line":35,"column":29}},"loc":{"start":{"line":35,"column":48},"end":{"line":43,"column":3}},"line":35},"7":{"name":"(anonymous_7)","decl":{"start":{"line":48,"column":75},"end":{"line":48,"column":76}},"loc":{"start":{"line":48,"column":85},"end":{"line":48,"column":133}},"line":48},"8":{"name":"(anonymous_8)","decl":{"start":{"line":50,"column":57},"end":{"line":50,"column":58}},"loc":{"start":{"line":50,"column":67},"end":{"line":50,"column":97}},"line":50}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":68},"end":{"line":3,"column":134}},"type":"binary-expr","locations":[{"start":{"line":3,"column":68},"end":{"line":3,"column":83}},{"start":{"line":3,"column":87},"end":{"line":3,"column":103}},{"start":{"line":3,"column":107},"end":{"line":3,"column":134}}],"line":3},"1":{"loc":{"start":{"line":8,"column":8},"end":{"line":8,"column":23}},"type":"binary-expr","locations":[{"start":{"line":8,"column":8},"end":{"line":8,"column":11}},{"start":{"line":8,"column":15},"end":{"line":8,"column":23}}],"line":8},"2":{"loc":{"start":{"line":15,"column":106},"end":{"line":15,"column":121}},"type":"binary-expr","locations":[{"start":{"line":15,"column":106},"end":{"line":15,"column":109}},{"start":{"line":15,"column":113},"end":{"line":15,"column":121}}],"line":15},"3":{"loc":{"start":{"line":18,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":28,"column":3}},{"start":{"line":18,"column":2},"end":{"line":28,"column":3}}],"line":18},"4":{"loc":{"start":{"line":19,"column":4},"end":{"line":21,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":21,"column":5}},{"start":{"line":19,"column":4},"end":{"line":21,"column":5}}],"line":19},"5":{"loc":{"start":{"line":22,"column":4},"end":{"line":24,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":24,"column":5}},{"start":{"line":22,"column":4},"end":{"line":24,"column":5}}],"line":22},"6":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}],"line":25},"7":{"loc":{"start":{"line":35,"column":7},"end":{"line":35,"column":26}},"type":"binary-expr","locations":[{"start":{"line":35,"column":7},"end":{"line":35,"column":10}},{"start":{"line":35,"column":14},"end":{"line":35,"column":26}}],"line":35},"8":{"loc":{"start":{"line":36,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":42,"column":5}},{"start":{"line":36,"column":4},"end":{"line":42,"column":5}}],"line":36},"9":{"loc":{"start":{"line":37,"column":6},"end":{"line":39,"column":7}},"type":"if","locations":[{"start":{"line":37,"column":6},"end":{"line":39,"column":7}},{"start":{"line":37,"column":6},"end":{"line":39,"column":7}}],"line":37},"10":{"loc":{"start":{"line":48,"column":85},"end":{"line":48,"column":133}},"type":"cond-expr","locations":[{"start":{"line":48,"column":91},"end":{"line":48,"column":128}},{"start":{"line":48,"column":131},"end":{"line":48,"column":133}}],"line":48},"11":{"loc":{"start":{"line":50,"column":67},"end":{"line":50,"column":97}},"type":"cond-expr","locations":[{"start":{"line":50,"column":73},"end":{"line":50,"column":90}},{"start":{"line":50,"column":93},"end":{"line":50,"column":97}}],"line":50}},"s":{"0":4,"1":4,"2":4,"3":6,"4":6,"5":18,"6":6,"7":4,"8":19,"9":4,"10":31,"11":22,"12":2,"13":20,"14":2,"15":18,"16":6,"17":21,"18":4,"19":3,"20":3,"21":6,"22":3,"23":1,"24":3,"25":3,"26":4,"27":38,"28":4,"29":14},"f":{"0":4,"1":6,"2":18,"3":19,"4":31,"5":3,"6":6,"7":38,"8":14},"b":{"0":[4,4,4],"1":[6,5],"2":[19,18],"3":[22,9],"4":[2,20],"5":[2,18],"6":[6,12],"7":[3,2],"8":[3,3],"9":[1,2],"10":[37,1],"11":[11,3]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d64988b1b86e1fd4e38b2ca7a1e6659394d4d2c9"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\index.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4f1e062d7329b627b761613ca309fd6f53fa5a18"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\transformation.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\transformation.ts","statementMap":{"0":{"start":{"line":19,"column":22},"end":{"line":19,"column":24}},"1":{"start":{"line":21,"column":2},"end":{"line":30,"column":5}},"2":{"start":{"line":22,"column":82},"end":{"line":22,"column":113}},"3":{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},"4":{"start":{"line":26,"column":6},"end":{"line":26,"column":44}},"5":{"start":{"line":32,"column":2},"end":{"line":32,"column":16}}},"fnMap":{"0":{"name":"transform","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":25}},"loc":{"start":{"line":18,"column":26},"end":{"line":33,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":48},"end":{"line":21,"column":49}},"loc":{"start":{"line":21,"column":83},"end":{"line":30,"column":3}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":29,"column":5}}],"line":25},"1":{"loc":{"start":{"line":26,"column":24},"end":{"line":26,"column":42}},"type":"cond-expr","locations":[{"start":{"line":26,"column":37},"end":{"line":26,"column":38}},{"start":{"line":26,"column":41},"end":{"line":26,"column":42}}],"line":26}},"s":{"0":16,"1":16,"2":102,"3":102,"4":90,"5":16},"f":{"0":16,"1":102},"b":{"0":[90],"1":[45,45]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0a28526e97cf0e48fa161b501d43a1d7b75952bb"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\validation.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\validation.ts","statementMap":{"0":{"start":{"line":13,"column":22},"end":{"line":13,"column":26}},"1":{"start":{"line":18,"column":60},"end":{"line":18,"column":81}},"2":{"start":{"line":24,"column":61},"end":{"line":30,"column":1}},"3":{"start":{"line":26,"column":4},"end":{"line":26,"column":84}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":18}},"5":{"start":{"line":50,"column":26},"end":{"line":131,"column":1}},"6":{"start":{"line":57,"column":48},"end":{"line":57,"column":50}},"7":{"start":{"line":58,"column":25},"end":{"line":58,"column":39}},"8":{"start":{"line":59,"column":16},"end":{"line":59,"column":84}},"9":{"start":{"line":59,"column":55},"end":{"line":59,"column":83}},"10":{"start":{"line":61,"column":2},"end":{"line":125,"column":5}},"11":{"start":{"line":62,"column":34},"end":{"line":62,"column":89}},"12":{"start":{"line":63,"column":30},"end":{"line":63,"column":43}},"13":{"start":{"line":64,"column":101},"end":{"line":64,"column":115}},"14":{"start":{"line":65,"column":30},"end":{"line":65,"column":58}},"15":{"start":{"line":66,"column":23},"end":{"line":66,"column":53}},"16":{"start":{"line":69,"column":4},"end":{"line":124,"column":5}},"17":{"start":{"line":70,"column":30},"end":{"line":70,"column":143}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":57}},"19":{"start":{"line":72,"column":6},"end":{"line":72,"column":57}},"20":{"start":{"line":74,"column":6},"end":{"line":78,"column":9}},"21":{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},"22":{"start":{"line":76,"column":10},"end":{"line":76,"column":29}},"23":{"start":{"line":79,"column":11},"end":{"line":124,"column":5}},"24":{"start":{"line":80,"column":20},"end":{"line":80,"column":25}},"25":{"start":{"line":81,"column":46},"end":{"line":81,"column":48}},"26":{"start":{"line":82,"column":48},"end":{"line":82,"column":50}},"27":{"start":{"line":83,"column":31},"end":{"line":83,"column":49}},"28":{"start":{"line":84,"column":69},"end":{"line":86,"column":56}},"29":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"30":{"start":{"line":90,"column":29},"end":{"line":90,"column":95}},"31":{"start":{"line":91,"column":8},"end":{"line":100,"column":9}},"32":{"start":{"line":93,"column":34},"end":{"line":93,"column":61}},"33":{"start":{"line":94,"column":10},"end":{"line":94,"column":90}},"34":{"start":{"line":94,"column":60},"end":{"line":94,"column":88}},"35":{"start":{"line":97,"column":10},"end":{"line":97,"column":52}},"36":{"start":{"line":99,"column":10},"end":{"line":99,"column":80}},"37":{"start":{"line":103,"column":8},"end":{"line":103,"column":95}},"38":{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},"39":{"start":{"line":109,"column":6},"end":{"line":121,"column":7}},"40":{"start":{"line":110,"column":38},"end":{"line":110,"column":90}},"41":{"start":{"line":111,"column":8},"end":{"line":113,"column":9}},"42":{"start":{"line":112,"column":10},"end":{"line":112,"column":48}},"43":{"start":{"line":114,"column":13},"end":{"line":121,"column":7}},"44":{"start":{"line":115,"column":8},"end":{"line":120,"column":10}},"45":{"start":{"line":123,"column":6},"end":{"line":123,"column":31}},"46":{"start":{"line":127,"column":2},"end":{"line":130,"column":4}},"47":{"start":{"line":150,"column":17},"end":{"line":166,"column":1}},"48":{"start":{"line":165,"column":2},"end":{"line":165,"column":89}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":25,"column":2},"end":{"line":25,"column":3}},"loc":{"start":{"line":25,"column":20},"end":{"line":28,"column":3}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":50,"column":26},"end":{"line":50,"column":27}},"loc":{"start":{"line":56,"column":29},"end":{"line":131,"column":1}},"line":56},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":45},"end":{"line":59,"column":46}},"loc":{"start":{"line":59,"column":55},"end":{"line":59,"column":83}},"line":59},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":14},"end":{"line":61,"column":15}},"loc":{"start":{"line":61,"column":50},"end":{"line":125,"column":3}},"line":61},"4":{"name":"(anonymous_4)","decl":{"start":{"line":74,"column":44},"end":{"line":74,"column":45}},"loc":{"start":{"line":74,"column":55},"end":{"line":78,"column":7}},"line":74},"5":{"name":"(anonymous_5)","decl":{"start":{"line":88,"column":29},"end":{"line":88,"column":30}},"loc":{"start":{"line":88,"column":51},"end":{"line":107,"column":7}},"line":88},"6":{"name":"(anonymous_6)","decl":{"start":{"line":94,"column":43},"end":{"line":94,"column":44}},"loc":{"start":{"line":94,"column":60},"end":{"line":94,"column":88}},"line":94},"7":{"name":"(anonymous_7)","decl":{"start":{"line":150,"column":17},"end":{"line":150,"column":18}},"loc":{"start":{"line":155,"column":29},"end":{"line":166,"column":1}},"line":155}},"branchMap":{"0":{"loc":{"start":{"line":62,"column":34},"end":{"line":62,"column":89}},"type":"cond-expr","locations":[{"start":{"line":62,"column":67},"end":{"line":62,"column":69}},{"start":{"line":62,"column":72},"end":{"line":62,"column":89}}],"line":62},"1":{"loc":{"start":{"line":66,"column":23},"end":{"line":66,"column":53}},"type":"cond-expr","locations":[{"start":{"line":66,"column":34},"end":{"line":66,"column":48}},{"start":{"line":66,"column":51},"end":{"line":66,"column":53}}],"line":66},"2":{"loc":{"start":{"line":69,"column":4},"end":{"line":124,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":124,"column":5}},{"start":{"line":69,"column":4},"end":{"line":124,"column":5}}],"line":69},"3":{"loc":{"start":{"line":69,"column":8},"end":{"line":69,"column":56}},"type":"binary-expr","locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":25}},{"start":{"line":69,"column":29},"end":{"line":69,"column":56}}],"line":69},"4":{"loc":{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},{"start":{"line":75,"column":8},"end":{"line":77,"column":9}}],"line":75},"5":{"loc":{"start":{"line":79,"column":11},"end":{"line":124,"column":5}},"type":"if","locations":[{"start":{"line":79,"column":11},"end":{"line":124,"column":5}},{"start":{"line":79,"column":11},"end":{"line":124,"column":5}}],"line":79},"6":{"loc":{"start":{"line":84,"column":69},"end":{"line":86,"column":56}},"type":"cond-expr","locations":[{"start":{"line":85,"column":10},"end":{"line":85,"column":58}},{"start":{"line":86,"column":11},"end":{"line":86,"column":55}}],"line":84},"7":{"loc":{"start":{"line":91,"column":8},"end":{"line":100,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":100,"column":9}},{"start":{"line":91,"column":8},"end":{"line":100,"column":9}}],"line":91},"8":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":50}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":24}},{"start":{"line":91,"column":28},"end":{"line":91,"column":50}}],"line":91},"9":{"loc":{"start":{"line":103,"column":32},"end":{"line":103,"column":93}},"type":"cond-expr","locations":[{"start":{"line":103,"column":47},"end":{"line":103,"column":74}},{"start":{"line":103,"column":77},"end":{"line":103,"column":93}}],"line":103},"10":{"loc":{"start":{"line":109,"column":6},"end":{"line":121,"column":7}},"type":"if","locations":[{"start":{"line":109,"column":6},"end":{"line":121,"column":7}},{"start":{"line":109,"column":6},"end":{"line":121,"column":7}}],"line":109},"11":{"loc":{"start":{"line":110,"column":38},"end":{"line":110,"column":90}},"type":"binary-expr","locations":[{"start":{"line":110,"column":38},"end":{"line":110,"column":59}},{"start":{"line":110,"column":63},"end":{"line":110,"column":90}}],"line":110},"12":{"loc":{"start":{"line":111,"column":8},"end":{"line":113,"column":9}},"type":"if","locations":[{"start":{"line":111,"column":8},"end":{"line":113,"column":9}},{"start":{"line":111,"column":8},"end":{"line":113,"column":9}}],"line":111},"13":{"loc":{"start":{"line":111,"column":12},"end":{"line":111,"column":127}},"type":"cond-expr","locations":[{"start":{"line":111,"column":36},"end":{"line":111,"column":91}},{"start":{"line":111,"column":94},"end":{"line":111,"column":127}}],"line":111},"14":{"loc":{"start":{"line":114,"column":13},"end":{"line":121,"column":7}},"type":"if","locations":[{"start":{"line":114,"column":13},"end":{"line":121,"column":7}},{"start":{"line":114,"column":13},"end":{"line":121,"column":7}}],"line":114},"15":{"loc":{"start":{"line":119,"column":13},"end":{"line":119,"column":108}},"type":"cond-expr","locations":[{"start":{"line":119,"column":43},"end":{"line":119,"column":103}},{"start":{"line":119,"column":106},"end":{"line":119,"column":108}}],"line":119},"16":{"loc":{"start":{"line":165,"column":46},"end":{"line":165,"column":63}},"type":"binary-expr","locations":[{"start":{"line":165,"column":46},"end":{"line":165,"column":57}},{"start":{"line":165,"column":61},"end":{"line":165,"column":63}}],"line":165},"17":{"loc":{"start":{"line":165,"column":65},"end":{"line":165,"column":87}},"type":"binary-expr","locations":[{"start":{"line":165,"column":65},"end":{"line":165,"column":78}},{"start":{"line":165,"column":82},"end":{"line":165,"column":87}}],"line":165}},"s":{"0":3,"1":3,"2":3,"3":21,"4":21,"5":3,"6":65,"7":65,"8":65,"9":372,"10":65,"11":372,"12":372,"13":372,"14":372,"15":372,"16":372,"17":33,"18":33,"19":33,"20":33,"21":66,"22":33,"23":339,"24":336,"25":336,"26":336,"27":336,"28":336,"29":336,"30":417,"31":417,"32":64,"33":64,"34":121,"35":64,"36":353,"37":417,"38":417,"39":336,"40":310,"41":310,"42":256,"43":26,"44":2,"45":336,"46":65,"47":3,"48":32},"f":{"0":21,"1":65,"2":372,"3":372,"4":66,"5":417,"6":121,"7":32},"b":{"0":[295,77],"1":[110,262],"2":[33,339],"3":[372,36],"4":[33,33],"5":[336,3],"6":[227,109],"7":[64,353],"8":[417,64],"9":[64,353],"10":[310,26],"11":[310,277],"12":[256,54],"13":[62,248],"14":[2,24],"15":[1,1],"16":[32,20],"17":[32,28]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"10625f1aff7a2938b0f6e9b3d6c1ad4611cb8f28"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\arrays.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\arrays.ts","statementMap":{"0":{"start":{"line":33,"column":2},"end":{"line":41,"column":3}},"1":{"start":{"line":34,"column":4},"end":{"line":38,"column":5}},"2":{"start":{"line":34,"column":17},"end":{"line":34,"column":18}},"3":{"start":{"line":35,"column":6},"end":{"line":37,"column":7}},"4":{"start":{"line":36,"column":8},"end":{"line":36,"column":14}},"5":{"start":{"line":39,"column":9},"end":{"line":41,"column":3}},"6":{"start":{"line":40,"column":4},"end":{"line":40,"column":75}},"7":{"start":{"line":40,"column":39},"end":{"line":40,"column":73}},"8":{"start":{"line":42,"column":2},"end":{"line":42,"column":16}},"9":{"start":{"line":51,"column":88},"end":{"line":51,"column":142}},"10":{"start":{"line":51,"column":114},"end":{"line":51,"column":142}}},"fnMap":{"0":{"name":"each","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":20}},"loc":{"start":{"line":32,"column":67},"end":{"line":43,"column":1}},"line":32},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":30},"end":{"line":40,"column":31}},"loc":{"start":{"line":40,"column":39},"end":{"line":40,"column":73}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":51,"column":88},"end":{"line":51,"column":89}},"loc":{"start":{"line":51,"column":114},"end":{"line":51,"column":142}},"line":51}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":2},"end":{"line":41,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":41,"column":3}},{"start":{"line":33,"column":2},"end":{"line":41,"column":3}}],"line":33},"1":{"loc":{"start":{"line":35,"column":6},"end":{"line":37,"column":7}},"type":"if","locations":[{"start":{"line":35,"column":6},"end":{"line":37,"column":7}},{"start":{"line":35,"column":6},"end":{"line":37,"column":7}}],"line":35},"2":{"loc":{"start":{"line":39,"column":9},"end":{"line":41,"column":3}},"type":"if","locations":[{"start":{"line":39,"column":9},"end":{"line":41,"column":3}},{"start":{"line":39,"column":9},"end":{"line":41,"column":3}}],"line":39}},"s":{"0":699,"1":693,"2":693,"3":2224,"4":321,"5":6,"6":5,"7":13,"8":699,"9":9,"10":418},"f":{"0":699,"1":13,"2":418},"b":{"0":[693,6],"1":[321,1903],"2":[5,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"552bd813cbbe3e4238c36aabfee763bb6eb08fbd"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\extend.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\extend.ts","statementMap":{"0":{"start":{"line":20,"column":30},"end":{"line":20,"column":84}},"1":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"2":{"start":{"line":24,"column":4},"end":{"line":24,"column":21}},"3":{"start":{"line":27,"column":2},"end":{"line":63,"column":5}},"4":{"start":{"line":29,"column":4},"end":{"line":62,"column":5}},"5":{"start":{"line":31,"column":6},"end":{"line":61,"column":7}},"6":{"start":{"line":32,"column":26},"end":{"line":32,"column":38}},"7":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"8":{"start":{"line":37,"column":10},"end":{"line":37,"column":19}},"9":{"start":{"line":40,"column":28},"end":{"line":40,"column":41}},"10":{"start":{"line":43,"column":8},"end":{"line":60,"column":9}},"11":{"start":{"line":44,"column":22},"end":{"line":44,"column":34}},"12":{"start":{"line":45,"column":27},"end":{"line":45,"column":30}},"13":{"start":{"line":48,"column":10},"end":{"line":52,"column":11}},"14":{"start":{"line":49,"column":12},"end":{"line":49,"column":23}},"15":{"start":{"line":50,"column":17},"end":{"line":52,"column":11}},"16":{"start":{"line":51,"column":12},"end":{"line":51,"column":23}},"17":{"start":{"line":55,"column":10},"end":{"line":55,"column":52}},"18":{"start":{"line":58,"column":15},"end":{"line":60,"column":9}},"19":{"start":{"line":59,"column":10},"end":{"line":59,"column":30}},"20":{"start":{"line":66,"column":2},"end":{"line":66,"column":23}}},"fnMap":{"0":{"name":"extend","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":22}},"loc":{"start":{"line":18,"column":29},"end":{"line":68,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":16},"end":{"line":27,"column":17}},"loc":{"start":{"line":27,"column":28},"end":{"line":63,"column":3}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},{"start":{"line":23,"column":2},"end":{"line":25,"column":3}}],"line":23},"1":{"loc":{"start":{"line":23,"column":6},"end":{"line":23,"column":75}},"type":"binary-expr","locations":[{"start":{"line":23,"column":7},"end":{"line":23,"column":33}},{"start":{"line":23,"column":37},"end":{"line":23,"column":51}},{"start":{"line":23,"column":56},"end":{"line":23,"column":75}}],"line":23},"2":{"loc":{"start":{"line":29,"column":4},"end":{"line":62,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":62,"column":5}},{"start":{"line":29,"column":4},"end":{"line":62,"column":5}}],"line":29},"3":{"loc":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},{"start":{"line":36,"column":8},"end":{"line":38,"column":9}}],"line":36},"4":{"loc":{"start":{"line":36,"column":12},"end":{"line":36,"column":51}},"type":"binary-expr","locations":[{"start":{"line":36,"column":12},"end":{"line":36,"column":32}},{"start":{"line":36,"column":36},"end":{"line":36,"column":51}}],"line":36},"5":{"loc":{"start":{"line":43,"column":8},"end":{"line":60,"column":9}},"type":"if","locations":[{"start":{"line":43,"column":8},"end":{"line":60,"column":9}},{"start":{"line":43,"column":8},"end":{"line":60,"column":9}}],"line":43},"6":{"loc":{"start":{"line":43,"column":12},"end":{"line":43,"column":56}},"type":"binary-expr","locations":[{"start":{"line":43,"column":12},"end":{"line":43,"column":16}},{"start":{"line":43,"column":21},"end":{"line":43,"column":40}},{"start":{"line":43,"column":44},"end":{"line":43,"column":55}}],"line":43},"7":{"loc":{"start":{"line":48,"column":10},"end":{"line":52,"column":11}},"type":"if","locations":[{"start":{"line":48,"column":10},"end":{"line":52,"column":11}},{"start":{"line":48,"column":10},"end":{"line":52,"column":11}}],"line":48},"8":{"loc":{"start":{"line":48,"column":14},"end":{"line":48,"column":42}},"type":"binary-expr","locations":[{"start":{"line":48,"column":14},"end":{"line":48,"column":25}},{"start":{"line":48,"column":29},"end":{"line":48,"column":42}}],"line":48},"9":{"loc":{"start":{"line":50,"column":17},"end":{"line":52,"column":11}},"type":"if","locations":[{"start":{"line":50,"column":17},"end":{"line":52,"column":11}},{"start":{"line":50,"column":17},"end":{"line":52,"column":11}}],"line":50},"10":{"loc":{"start":{"line":50,"column":21},"end":{"line":50,"column":56}},"type":"binary-expr","locations":[{"start":{"line":50,"column":21},"end":{"line":50,"column":33}},{"start":{"line":50,"column":37},"end":{"line":50,"column":56}}],"line":50},"11":{"loc":{"start":{"line":58,"column":15},"end":{"line":60,"column":9}},"type":"if","locations":[{"start":{"line":58,"column":15},"end":{"line":60,"column":9}},{"start":{"line":58,"column":15},"end":{"line":60,"column":9}}],"line":58}},"s":{"0":180,"1":180,"2":3,"3":180,"4":1080,"5":217,"6":632,"7":632,"8":1,"9":631,"10":631,"11":126,"12":126,"13":126,"14":33,"15":93,"16":76,"17":126,"18":505,"19":504,"20":180},"f":{"0":180,"1":1080},"b":{"0":[3,177],"1":[180,177,4],"2":[217,863],"3":[1,631],"4":[632,632],"5":[126,505],"6":[631,531,439],"7":[33,93],"8":[126,34],"9":[76,17],"10":[93,92],"11":[504,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"49cce00e126788acd6eada967c17798184df42e4"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\index.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"139bc9fe01e072d1276787c72d1565679f7be6d7"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\types.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\types.ts","statementMap":{"0":{"start":{"line":3,"column":42},"end":{"line":10,"column":1}},"1":{"start":{"line":4,"column":2},"end":{"line":4,"column":41}},"2":{"start":{"line":4,"column":25},"end":{"line":4,"column":41}},"3":{"start":{"line":5,"column":2},"end":{"line":5,"column":36}},"4":{"start":{"line":5,"column":20},"end":{"line":5,"column":36}},"5":{"start":{"line":6,"column":2},"end":{"line":9,"column":19}},"6":{"start":{"line":13,"column":2},"end":{"line":13,"column":33}},"7":{"start":{"line":17,"column":2},"end":{"line":17,"column":33}},"8":{"start":{"line":21,"column":2},"end":{"line":21,"column":34}},"9":{"start":{"line":25,"column":2},"end":{"line":25,"column":35}},"10":{"start":{"line":29,"column":2},"end":{"line":29,"column":27}},"11":{"start":{"line":33,"column":2},"end":{"line":33,"column":22}},"12":{"start":{"line":37,"column":2},"end":{"line":37,"column":28}},"13":{"start":{"line":41,"column":2},"end":{"line":41,"column":66}},"14":{"start":{"line":49,"column":17},"end":{"line":49,"column":36}},"15":{"start":{"line":50,"column":2},"end":{"line":50,"column":98}},"16":{"start":{"line":58,"column":2},"end":{"line":58,"column":69}},"17":{"start":{"line":58,"column":56},"end":{"line":58,"column":69}},"18":{"start":{"line":61,"column":16},"end":{"line":61,"column":27}},"19":{"start":{"line":62,"column":29},"end":{"line":62,"column":42}},"20":{"start":{"line":63,"column":28},"end":{"line":63,"column":67}},"21":{"start":{"line":64,"column":27},"end":{"line":64,"column":132}},"22":{"start":{"line":66,"column":2},"end":{"line":68,"column":3}},"23":{"start":{"line":67,"column":4},"end":{"line":67,"column":17}},"24":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"25":{"start":{"line":76,"column":2},"end":{"line":76,"column":59}},"26":{"start":{"line":84,"column":33},"end":{"line":84,"column":51}},"27":{"start":{"line":85,"column":23},"end":{"line":85,"column":93}},"28":{"start":{"line":86,"column":2},"end":{"line":86,"column":137}},"29":{"start":{"line":95,"column":2},"end":{"line":95,"column":39}},"30":{"start":{"line":95,"column":26},"end":{"line":95,"column":39}},"31":{"start":{"line":96,"column":2},"end":{"line":96,"column":14}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":42},"end":{"line":3,"column":43}},"loc":{"start":{"line":3,"column":51},"end":{"line":10,"column":1}},"line":3},"1":{"name":"isNumber","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":24}},"loc":{"start":{"line":12,"column":50},"end":{"line":14,"column":1}},"line":12},"2":{"name":"isString","decl":{"start":{"line":16,"column":16},"end":{"line":16,"column":24}},"loc":{"start":{"line":16,"column":50},"end":{"line":18,"column":1}},"line":16},"3":{"name":"isBoolean","decl":{"start":{"line":20,"column":16},"end":{"line":20,"column":25}},"loc":{"start":{"line":20,"column":52},"end":{"line":22,"column":1}},"line":20},"4":{"name":"isFunction","decl":{"start":{"line":24,"column":16},"end":{"line":24,"column":26}},"loc":{"start":{"line":24,"column":82},"end":{"line":26,"column":1}},"line":24},"5":{"name":"isUndefined","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":27}},"loc":{"start":{"line":28,"column":56},"end":{"line":30,"column":1}},"line":28},"6":{"name":"isNull","decl":{"start":{"line":32,"column":16},"end":{"line":32,"column":22}},"loc":{"start":{"line":32,"column":46},"end":{"line":34,"column":1}},"line":32},"7":{"name":"isArray","decl":{"start":{"line":36,"column":16},"end":{"line":36,"column":23}},"loc":{"start":{"line":36,"column":53},"end":{"line":38,"column":1}},"line":36},"8":{"name":"isObject","decl":{"start":{"line":40,"column":16},"end":{"line":40,"column":24}},"loc":{"start":{"line":40,"column":44},"end":{"line":42,"column":1}},"line":40},"9":{"name":"isArrayLike","decl":{"start":{"line":48,"column":16},"end":{"line":48,"column":27}},"loc":{"start":{"line":48,"column":88},"end":{"line":51,"column":1}},"line":48},"10":{"name":"isPlainObject","decl":{"start":{"line":57,"column":16},"end":{"line":57,"column":29}},"loc":{"start":{"line":57,"column":72},"end":{"line":77,"column":1}},"line":57},"11":{"name":"isHTMLElement","decl":{"start":{"line":83,"column":16},"end":{"line":83,"column":29}},"loc":{"start":{"line":83,"column":60},"end":{"line":87,"column":1}},"line":83},"12":{"name":"isEmptyObject","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":29}},"loc":{"start":{"line":93,"column":49},"end":{"line":98,"column":1}},"line":93}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":4,"column":41}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":4,"column":41}},{"start":{"line":4,"column":2},"end":{"line":4,"column":41}}],"line":4},"1":{"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":36}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":5,"column":36}},{"start":{"line":5,"column":2},"end":{"line":5,"column":36}}],"line":5},"2":{"loc":{"start":{"line":41,"column":9},"end":{"line":41,"column":65}},"type":"binary-expr","locations":[{"start":{"line":41,"column":9},"end":{"line":41,"column":32}},{"start":{"line":41,"column":36},"end":{"line":41,"column":49}},{"start":{"line":41,"column":53},"end":{"line":41,"column":65}}],"line":41},"3":{"loc":{"start":{"line":49,"column":17},"end":{"line":49,"column":36}},"type":"binary-expr","locations":[{"start":{"line":49,"column":17},"end":{"line":49,"column":22}},{"start":{"line":49,"column":26},"end":{"line":49,"column":36}}],"line":49},"4":{"loc":{"start":{"line":50,"column":9},"end":{"line":50,"column":97}},"type":"binary-expr","locations":[{"start":{"line":50,"column":9},"end":{"line":50,"column":21}},{"start":{"line":50,"column":26},"end":{"line":50,"column":42}},{"start":{"line":50,"column":46},"end":{"line":50,"column":62}},{"start":{"line":50,"column":66},"end":{"line":50,"column":77}},{"start":{"line":50,"column":81},"end":{"line":50,"column":96}}],"line":50},"5":{"loc":{"start":{"line":58,"column":2},"end":{"line":58,"column":69}},"type":"if","locations":[{"start":{"line":58,"column":2},"end":{"line":58,"column":69}},{"start":{"line":58,"column":2},"end":{"line":58,"column":69}}],"line":58},"6":{"loc":{"start":{"line":58,"column":6},"end":{"line":58,"column":54}},"type":"binary-expr","locations":[{"start":{"line":58,"column":6},"end":{"line":58,"column":10}},{"start":{"line":58,"column":14},"end":{"line":58,"column":28}},{"start":{"line":58,"column":32},"end":{"line":58,"column":54}}],"line":58},"7":{"loc":{"start":{"line":64,"column":27},"end":{"line":64,"column":132}},"type":"binary-expr","locations":[{"start":{"line":64,"column":27},"end":{"line":64,"column":42}},{"start":{"line":64,"column":46},"end":{"line":64,"column":68}},{"start":{"line":64,"column":72},"end":{"line":64,"column":132}}],"line":64},"8":{"loc":{"start":{"line":66,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":66,"column":2},"end":{"line":68,"column":3}},{"start":{"line":66,"column":2},"end":{"line":68,"column":3}}],"line":66},"9":{"loc":{"start":{"line":66,"column":6},"end":{"line":66,"column":64}},"type":"binary-expr","locations":[{"start":{"line":66,"column":6},"end":{"line":66,"column":21}},{"start":{"line":66,"column":25},"end":{"line":66,"column":43}},{"start":{"line":66,"column":47},"end":{"line":66,"column":64}}],"line":66},"10":{"loc":{"start":{"line":76,"column":9},"end":{"line":76,"column":58}},"type":"binary-expr","locations":[{"start":{"line":76,"column":9},"end":{"line":76,"column":25}},{"start":{"line":76,"column":29},"end":{"line":76,"column":58}}],"line":76},"11":{"loc":{"start":{"line":85,"column":23},"end":{"line":85,"column":93}},"type":"binary-expr","locations":[{"start":{"line":85,"column":23},"end":{"line":85,"column":55}},{"start":{"line":85,"column":59},"end":{"line":85,"column":93}}],"line":85},"12":{"loc":{"start":{"line":86,"column":12},"end":{"line":86,"column":135}},"type":"cond-expr","locations":[{"start":{"line":86,"column":27},"end":{"line":86,"column":64}},{"start":{"line":86,"column":67},"end":{"line":86,"column":135}}],"line":86},"13":{"loc":{"start":{"line":86,"column":67},"end":{"line":86,"column":135}},"type":"binary-expr","locations":[{"start":{"line":86,"column":67},"end":{"line":86,"column":70}},{"start":{"line":86,"column":74},"end":{"line":86,"column":87}},{"start":{"line":86,"column":91},"end":{"line":86,"column":109}},{"start":{"line":86,"column":113},"end":{"line":86,"column":135}}],"line":86}},"s":{"0":11,"1":576,"2":1,"3":575,"4":48,"5":527,"6":97,"7":114,"8":28,"9":464,"10":611,"11":500,"12":2671,"13":1605,"14":766,"15":766,"16":1337,"17":1123,"18":214,"19":214,"20":214,"21":214,"22":214,"23":3,"24":211,"25":211,"26":358,"27":358,"28":358,"29":105,"30":42,"31":63},"f":{"0":576,"1":97,"2":114,"3":28,"4":464,"5":611,"6":500,"7":2671,"8":1605,"9":766,"10":1337,"11":358,"12":105},"b":{"0":[1,575],"1":[48,527],"2":[1605,448,295],"3":[766,759],"4":[766,74,69,19,19],"5":[1123,214],"6":[1337,1181,224],"7":[214,213,213],"8":[3,211],"9":[214,213,213],"10":[211,205],"11":[358,358],"12":[327,31],"13":[31,26,15,4]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9924e25b97f94923c8af1a7d039b72be6c74e107"} } diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html index 3422167..965122f 100644 --- a/coverage/lcov-report/index.html +++ b/coverage/lcov-report/index.html @@ -23,30 +23,30 @@
- 94.91% + 94.89% Statements - 317/334 + 316/333
- 94.12% + 94.06% Branches - 192/204 + 190/202
- 91.14% + 90.12% Functions - 72/79 + 73/81
- 94.75% + 95.16% Lines - 307/324 + 295/310
@@ -84,7 +84,7 @@ 100% 6/6 100% - 33/33 + 32/32 @@ -99,7 +99,7 @@ 100% 10/10 100% - 49/49 + 47/47 @@ -111,10 +111,10 @@ 114/131 84.81% 67/79 - 80.56% - 29/36 - 86.29% - 107/124 + 78.38% + 29/37 + 87.6% + 106/121 @@ -138,13 +138,13 @@
100% - 65/65 + 64/64 100% - 71/71 + 69/69 100% - 17/17 + 18/18 100% - 65/65 + 57/57 @@ -155,7 +155,7 @@
diff --git a/coverage/lcov-report/src/core/compatibility/index.html b/coverage/lcov-report/src/core/compatibility/index.html index d0985ea..cf96aeb 100644 --- a/coverage/lcov-report/src/core/compatibility/index.html +++ b/coverage/lcov-report/src/core/compatibility/index.html @@ -46,7 +46,7 @@
100% Lines - 49/49 + 47/47
@@ -84,7 +84,7 @@ 100% 10/10 100% - 49/49 + 47/47 @@ -95,7 +95,7 @@ diff --git a/coverage/lcov-report/src/core/compatibility/vendors.ts.html b/coverage/lcov-report/src/core/compatibility/vendors.ts.html index a0c1229..bb6a105 100644 --- a/coverage/lcov-report/src/core/compatibility/vendors.ts.html +++ b/coverage/lcov-report/src/core/compatibility/vendors.ts.html @@ -46,7 +46,7 @@
100% Lines - 49/49 + 47/47
@@ -155,19 +155,14 @@ 96 97 98 -99 -100  +99      -1x 20x -  -1x 10x       -  1x 1x   @@ -184,6 +179,7 @@ 4x 1x   +  3x 3x   @@ -216,6 +212,7 @@ 11x 4x   +  7x 7x 7x @@ -247,6 +244,7 @@ 5x 1x   +  4x 11x 11x @@ -258,14 +256,10 @@  
import { each } from 'core/utils';
 import { createDiv } from 'core/dom';
  
-const firstLetterToUpper: (str: string) => string = (str) => {
-    return str.charAt(0).toUpperCase() + str.slice(1);
-}
-const getDummyStyle: () => CSSStyleDeclaration = () => {
-    return createDiv().style;
-}
+const firstLetterToUpper: (str: string) => string = (str) => str.charAt(0).toUpperCase() + str.slice(1);
+const getDummyStyle: () => CSSStyleDeclaration = () => createDiv().style;
  
-//https://developer.mozilla.org/en-US/docs/Glossary/Vendor_Prefix
+// https://developer.mozilla.org/en-US/docs/Glossary/Vendor_Prefix
  
 export const cssPrefixes: ReadonlyArray<string> = ['-webkit-', '-moz-', '-o-', '-ms-'];
 export const jsPrefixes: ReadonlyArray<string> = ['WebKit', 'Moz', 'O', 'MS', 'webkit', 'moz', 'o', 'ms'];
@@ -278,82 +272,85 @@ export const cssCache: { [key: string]: string } = {};
  * @param name The name of the CSS property which shall be get.
  */
 export const cssProperty: (name: string) => string | undefined = (name) => {
-    let result: string | undefined = cssCache[name];
+  let result: string | undefined = cssCache[name];
  
-    if (cssCache.hasOwnProperty(name))
-        return result;
- 
-    const uppercasedName: string = firstLetterToUpper(name);
-    const elmStyle: CSSStyleDeclaration = getDummyStyle();
- 
-    each(cssPrefixes, (prefix: string) => {
-        const prefixWithoutDashes: string = prefix.replace(/-/g, '');
-        const resultPossibilities: Array<string> = [
-            name, //transition
-            prefix + name, //-webkit-transition
-            prefixWithoutDashes + uppercasedName, //webkitTransition
-            firstLetterToUpper(prefixWithoutDashes) + uppercasedName //WebkitTransition
-        ];
-        result = resultPossibilities.find((resultPossibility: string) => elmStyle[resultPossibility] !== undefined);
-        return !result;
-    });
- 
-    cssCache[name] = result;
+  if (cssCache.hasOwnProperty(name)) {
     return result;
-}
+  }
+ 
+  const uppercasedName: string = firstLetterToUpper(name);
+  const elmStyle: CSSStyleDeclaration = getDummyStyle();
+ 
+  each(cssPrefixes, (prefix: string) => {
+    const prefixWithoutDashes: string = prefix.replace(/-/g, '');
+    const resultPossibilities: Array<string> = [
+      name, // transition
+      prefix + name, // -webkit-transition
+      prefixWithoutDashes + uppercasedName, // webkitTransition
+      firstLetterToUpper(prefixWithoutDashes) + uppercasedName, // WebkitTransition
+    ];
+    result = resultPossibilities.find((resultPossibility: string) => elmStyle[resultPossibility] !== undefined);
+    return !result;
+  });
+ 
+  cssCache[name] = result;
+  return result;
+};
  
 /**
- * Get the name of the given CSS property value(s), with vendor prefix if it isn't supported wuthout, or undefined if no value is supported. 
+ * Get the name of the given CSS property value(s), with vendor prefix if it isn't supported wuthout, or undefined if no value is supported.
  * @param property The CSS property to which the CSS property value(s) belong.
  * @param values The value(s) separated by spaces which shall be get.
  * @param suffix A suffix which is added to each value in case the value is a function or something else more advanced.
  */
 export const cssPropertyValue: (property: string, values: string, suffix?: string) => string | undefined = (property, values, suffix) => {
-    const name: string = property + ' ' + values;
-    let result: string | undefined = cssCache[name];
+  const name = `${property} ${values}`;
+  let result: string | undefined = cssCache[name];
  
-    if (cssCache.hasOwnProperty(name))
-        return result;
- 
-    const dummyStyle: CSSStyleDeclaration = getDummyStyle();
-    const possbleValues: Array<string> = values.split(' ');
-    const preparedSuffix: string = suffix || '';
-    const cssPrefixesWithFirstEmpty = [''].concat(cssPrefixes);
- 
-    each(possbleValues, (possibleValue: string) => {
-        each(cssPrefixesWithFirstEmpty, (prefix: string) => {
-            const prop = prefix + possibleValue;
-            dummyStyle.cssText = property + ':' + prop + preparedSuffix;
-            if (dummyStyle.length) {
-                result = prop;
-                return false;
-            }
-        });
-        return !result;
-    });
- 
-    cssCache[name] = result;
+  if (cssCache.hasOwnProperty(name)) {
     return result;
-}
+  }
+ 
+  const dummyStyle: CSSStyleDeclaration = getDummyStyle();
+  const possbleValues: Array<string> = values.split(' ');
+  const preparedSuffix: string = suffix || '';
+  const cssPrefixesWithFirstEmpty = [''].concat(cssPrefixes);
+ 
+  each(possbleValues, (possibleValue: string) => {
+    each(cssPrefixesWithFirstEmpty, (prefix: string) => {
+      const prop = prefix + possibleValue;
+      dummyStyle.cssText = `${property}:${prop}${preparedSuffix}`;
+      if (dummyStyle.length) {
+        result = prop;
+        return false;
+      }
+    });
+    return !result;
+  });
+ 
+  cssCache[name] = result;
+  return result;
+};
  
 /**
  * Get the requested JS function, object or constructor with vendor prefix if it isn't supported without or undefined if unsupported.
  * @param name The name of the JS function, object or constructor.
  */
 export const jsAPI: (name: string) => any = (name) => {
-    let result: any = jsCache[name] || window[name];
+  let result: any = jsCache[name] || window[name];
  
-    if (jsCache.hasOwnProperty(name))
-        return result;
- 
-    each(jsPrefixes, (prefix: string) => {
-        result = result || window[prefix + firstLetterToUpper(name)];
-        return !result;
-    });
- 
-    jsCache[name] = result;
+  if (jsCache.hasOwnProperty(name)) {
     return result;
-}
+  }
+ 
+  each(jsPrefixes, (prefix: string) => {
+    result = result || window[prefix + firstLetterToUpper(name)];
+    return !result;
+  });
+ 
+  jsCache[name] = result;
+  return result;
+};
  
@@ -361,7 +358,7 @@ export const jsAPI: (name: string) => any = (name) => { diff --git a/coverage/lcov-report/src/core/dom/attributes.ts.html b/coverage/lcov-report/src/core/dom/attributes.ts.html index 9caf25e..40a5142 100644 --- a/coverage/lcov-report/src/core/dom/attributes.ts.html +++ b/coverage/lcov-report/src/core/dom/attributes.ts.html @@ -110,7 +110,12 @@ 51 52 53 -54  +54 +55 +56 +57 +58 +59        @@ -120,6 +125,7 @@ 4x 7x 5x +  2x     @@ -140,6 +146,7 @@ 4x 3x 2x +  1x     @@ -151,6 +158,7 @@ 4x 3x 2x +  1x     @@ -162,7 +170,9 @@ 4x 5x 3x +  2x +   
/**
  * Gets or sets a attribute with the given attribute of the given element depending whether the value attribute is given.
  * Returns null if the element has no attribute with the given name.
@@ -171,10 +181,11 @@
  * @param value The value of the attribute which shall be set.
  */
 export const attr: (elm: Element, attrName: string, value?: string) => string | null | void = (elm, attrName, value) => {
-    if (value === undefined)
-        return elm.getAttribute(attrName);
-    elm.setAttribute(attrName, value);
-}
+  if (value === undefined) {
+    return elm.getAttribute(attrName);
+  }
+  elm.setAttribute(attrName, value);
+};
  
 /**
  * Removes the given attribute from the given element.
@@ -182,8 +193,8 @@ export const attr: (elm: Element, attrName: string, value?: string) => string
  * @param attrName The attribute name.
  */
 export const removeAttr: (elm: Element, attrName: string) => void = (elm, attrName) => {
-    elm.removeAttribute(attrName);
-}
+  elm.removeAttribute(attrName);
+};
  
 /**
  * Gets or sets the scrollLeft value of the given element depending whether the value attribute is given.
@@ -191,10 +202,11 @@ export const removeAttr: (elm: Element, attrName: string) => void = (elm, att
  * @param value The scrollLeft value which shall be set.
  */
 export const scrollLeft: (elm: HTMLElement, value?: number) => number | void = (elm, value) => {
-    if (value === undefined)
-        return elm.scrollLeft;
-    elm.scrollLeft = value;
-}
+  if (value === undefined) {
+    return elm.scrollLeft;
+  }
+  elm.scrollLeft = value;
+};
  
 /**
  * Gets or sets the scrollTop value of the given element depending whether the value attribute is given.
@@ -202,10 +214,11 @@ export const scrollLeft: (elm: HTMLElement, value?: number) => number | void
  * @param value The scrollTop value which shall be set.
  */
 export const scrollTop: (elm: HTMLElement, value?: number) => number | void = (elm, value) => {
-    if (value === undefined)
-        return elm.scrollTop;
-    elm.scrollTop = value;
-}
+  if (value === undefined) {
+    return elm.scrollTop;
+  }
+  elm.scrollTop = value;
+};
  
 /**
  * Gets or sets the value of the given input element depending whether the value attribute is given.
@@ -213,17 +226,19 @@ export const scrollTop: (elm: HTMLElement, value?: number) => number | void =
  * @param value The value which shall be set.
  */
 export const val: (elm: HTMLInputElement, value?: string) => string | void = (elm, value) => {
-    if (value === undefined)
-        return elm.value;
-    elm.value = value;
-}
+ if (value === undefined) { + return elm.value; + } + elm.value = value; +}; + 
diff --git a/coverage/lcov-report/src/core/dom/classes.ts.html b/coverage/lcov-report/src/core/dom/classes.ts.html index fc4adc1..06a9788 100644 --- a/coverage/lcov-report/src/core/dom/classes.ts.html +++ b/coverage/lcov-report/src/core/dom/classes.ts.html @@ -46,7 +46,7 @@
100% Lines - 19/19 + 18/18
@@ -124,7 +124,6 @@       -4x 7x     @@ -132,7 +131,6 @@       -  4x   11x @@ -149,6 +147,7 @@       +  4x   7x @@ -166,25 +165,24 @@       +  4x 4x 2x   -  2x   +   
import { isString } from 'core/utils/types';
  
-const rnothtmlwhite: RegExp = (/[^\x20\t\r\n\f]+/g);
+const rnothtmlwhite = /[^\x20\t\r\n\f]+/g;
  
 /**
  * Check whether the given element has the given class name.
  * @param elm The element.
  * @param className The class name.
  */
-export const hasClass: (elm: Element, className: string) => boolean = (elm, className) => {
-    return elm.classList.contains(className);
-}
+export const hasClass: (elm: Element, className: string) => boolean = (elm, className) => elm.classList.contains(className);
  
 /**
  * Adds the given class name(s) to the given element.
@@ -192,15 +190,16 @@ export const hasClass: (elm: Element, className: string) => boolean = (elm, c
  * @param className The class name(s) which shall be added. (separated by spaces)
  */
 export const addClass: (elm: Element, className: string) => void = (elm, className) => {
-    let clazz: string;
-    let i: number = 0;
+  let clazz: string;
+  let i = 0;
  
-    if (isString(className)) {
-        const classes: Array<string> = className.match(rnothtmlwhite) || [];
-        while ((clazz = classes[i++]))
-            elm.classList.add(clazz);
+  if (isString(className)) {
+    const classes: Array<string> = className.match(rnothtmlwhite) || [];
+    while ((clazz = classes[i++])) {
+      elm.classList.add(clazz);
     }
-}
+  }
+};
  
 /**
  * Removes the given class name(s) from the given element.
@@ -208,15 +207,16 @@ export const addClass: (elm: Element, className: string) => void = (elm, clas
  * @param className The class name(s) which shall be removed. (separated by spaces)
  */
 export const removeClass: (elm: Element, className: string) => void = (elm, className) => {
-    let clazz: string;
-    let i: number = 0;
+  let clazz: string;
+  let i = 0;
  
-    if (isString(className)) {
-        const classes: Array<string> = className.match(rnothtmlwhite) || [];
-        while ((clazz = classes[i++]))
-            elm.classList.remove(clazz);
+  if (isString(className)) {
+    const classes: Array<string> = className.match(rnothtmlwhite) || [];
+    while ((clazz = classes[i++])) {
+      elm.classList.remove(clazz);
     }
-}
+  }
+};
  
 /**
  * Adds or removes the given class name(s) from the given element depending on the given condition.
@@ -225,20 +225,20 @@ export const removeClass: (elm: Element, className: string) => void = (elm, c
  * @param className The class name(s) which shall be added or removed. (separated by spaces)
  */
 export const conditionalClass: (elm: Element, className: string, condition: boolean) => void = (elm, className, condition) => {
-    if (condition) {
-        addClass(elm, className);
-    }
-    else {
-        removeClass(elm, className);
-    }
-}
+ if (condition) { + addClass(elm, className); + } else { + removeClass(elm, className); + } +}; + 
diff --git a/coverage/lcov-report/src/core/dom/create.ts.html b/coverage/lcov-report/src/core/dom/create.ts.html index 29bb02f..c8eeff0 100644 --- a/coverage/lcov-report/src/core/dom/create.ts.html +++ b/coverage/lcov-report/src/core/dom/create.ts.html @@ -46,7 +46,7 @@
100% Lines - 6/6 + 5/5
@@ -69,41 +69,38 @@ 10 11 12 -13 -14  +13        -4x 204x   -  4x 3x 3x   9x +   
import { each } from 'core/utils/arrays';
 import { contents } from 'core/dom/traversal';
 import { removeElements } from 'core/dom/manipulation';
  
-export const createDiv: () => HTMLDivElement = () => {
-    return document.createElement('div');
-}
+export const createDiv: () => HTMLDivElement = () => document.createElement('div');
  
 export const createDOM: (html: string) => ReadonlyArray<Node> = (html) => {
-    const elm = createDiv();
-    elm.innerHTML = html.trim();
+  const createdDiv = createDiv();
+  createdDiv.innerHTML = html.trim();
  
-    return each(contents(elm), (elm) => removeElements(elm));
-}
+ return each(contents(createdDiv), (elm) => removeElements(elm)); +}; + 
diff --git a/coverage/lcov-report/src/core/dom/index.html b/coverage/lcov-report/src/core/dom/index.html index 305408f..b2dffad 100644 --- a/coverage/lcov-report/src/core/dom/index.html +++ b/coverage/lcov-report/src/core/dom/index.html @@ -37,16 +37,16 @@
- 80.56% + 78.38% Functions - 29/36 + 29/37
- 86.29% + 87.6% Lines - 107/124 + 106/121
@@ -99,7 +99,7 @@ 100% 4/4 100% - 19/19 + 18/18 @@ -114,7 +114,7 @@ 100% 3/3 100% - 6/6 + 5/5 @@ -144,7 +144,7 @@ 100% 8/8 100% - 28/28 + 32/32 @@ -158,8 +158,8 @@ 0/0 0% 0/2 - 40% - 2/5 + 50% + 2/4 @@ -172,9 +172,9 @@ 0% 0/12 0% - 0/5 - 26.32% - 5/19 + 0/6 + 27.78% + 5/18 @@ -189,7 +189,7 @@ 100% 9/9 100% - 29/29 + 26/26 @@ -200,7 +200,7 @@ diff --git a/coverage/lcov-report/src/core/dom/index.ts.html b/coverage/lcov-report/src/core/dom/index.ts.html index adfc29a..403d75b 100644 --- a/coverage/lcov-report/src/core/dom/index.ts.html +++ b/coverage/lcov-report/src/core/dom/index.ts.html @@ -63,7 +63,9 @@ 4 5 6 -7  +7 +8  +        @@ -75,14 +77,15 @@ export * from 'core/dom/create'; export * from 'core/dom/style'; export * from 'core/dom/manipulation'; export * from 'core/dom/offset'; -export * from 'core/dom/traversal'; +export * from 'core/dom/traversal'; + 
diff --git a/coverage/lcov-report/src/core/dom/manipulation.ts.html b/coverage/lcov-report/src/core/dom/manipulation.ts.html index a85070d..04df889 100644 --- a/coverage/lcov-report/src/core/dom/manipulation.ts.html +++ b/coverage/lcov-report/src/core/dom/manipulation.ts.html @@ -46,7 +46,7 @@
100% Lines - 28/28 + 32/32
@@ -147,7 +147,18 @@ 88 89 90 -91  +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102        @@ -160,6 +171,10 @@     4x +  +  +  +  24x 20x   @@ -177,7 +192,6 @@ 24x     -  8x     @@ -185,7 +199,6 @@ 16x 12x 1x -  11x 2x   @@ -201,6 +214,7 @@       +4x 6x     @@ -208,6 +222,8 @@       +  +4x 6x     @@ -215,6 +231,8 @@       +  +4x 6x     @@ -222,22 +240,26 @@       +  +4x 6x           +  4x 23x 9x -  21x 20x 20x 15x   - 
import { isArrayLike, isHTMLElement } from 'core/utils/types';
+ 
+ 
+ 
import { isArrayLike } from 'core/utils/types';
 import { each } from 'core/utils/arrays';
 import { parent } from 'core/dom/traversal';
  
@@ -245,96 +267,107 @@ type NodeCollection = ArrayLike<Node> | Node | undefined | null;
  
 /**
  * Inserts Nodes before the given preferredAnchor element.
- * @param parent The parent of the preferredAnchor element or the element which shall be the parent of the inserted Nodes.
+ * @param parentElm The parent of the preferredAnchor element or the element which shall be the parent of the inserted Nodes.
  * @param preferredAnchor The element before which the Nodes shall be inserted or null if the elements shall be appended at the end.
  * @param insertedElms The Nodes which shall be inserted.
  */
-const before: (parent: Node | null, preferredAnchor: Node | null, insertedElms: NodeCollection) => void = (parent, preferredAnchor, insertedElms) => {
-    if (insertedElms) {
-        let anchor: Node | null = preferredAnchor;
-        let fragment: DocumentFragment | Node | undefined | null;
+const before: (parentElm: Node | null, preferredAnchor: Node | null, insertedElms: NodeCollection) => void = (
+  parentElm,
+  preferredAnchor,
+  insertedElms,
+) => {
+  if (insertedElms) {
+    let anchor: Node | null = preferredAnchor;
+    let fragment: DocumentFragment | Node | undefined | null;
  
-        // parent must be defined
-        if (parent) {
-            if (isArrayLike(insertedElms)) {
-                fragment = document.createDocumentFragment();
+    // parent must be defined
+    if (parentElm) {
+      if (isArrayLike(insertedElms)) {
+        fragment = document.createDocumentFragment();
  
-                // append all insertedElms to the fragment and if one of these is the anchor, change the anchor
-                each(insertedElms, (insertedElm) => {
-                    if (insertedElm === anchor) {
-                        anchor = insertedElm.previousSibling;
-                    }
-                    fragment!.appendChild(insertedElm);
-                });
-            }
-            else {
-                fragment = insertedElms;
-            }
+        // append all insertedElms to the fragment and if one of these is the anchor, change the anchor
+        each(insertedElms, (insertedElm) => {
+          if (insertedElm === anchor) {
+            anchor = insertedElm.previousSibling;
+          }
+          fragment!.appendChild(insertedElm);
+        });
+      } else {
+        fragment = insertedElms;
+      }
  
-            // if the preferred anchor isn't null set it to a valid anchor
-            if (preferredAnchor) {
-                if (!anchor) {
-                    anchor = parent.firstChild;
-                }
-                else if (anchor !== preferredAnchor) {
-                    anchor = anchor.nextSibling;
-                }
-            }
- 
-            parent.insertBefore(fragment, anchor);
+      // if the preferred anchor isn't null set it to a valid anchor
+      if (preferredAnchor) {
+        if (!anchor) {
+          anchor = parentElm.firstChild;
+        } else if (anchor !== preferredAnchor) {
+          anchor = anchor.nextSibling;
         }
+      }
+ 
+      parentElm.insertBefore(fragment, anchor);
     }
-}
+  }
+};
  
 /**
  * Appends the given children at the end of the given Node.
  * @param node The Node to which the children shall be appended.
  * @param children The Nodes which shall be appended.
  */
-export const appendChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { before(node, null, children) };
+export const appendChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => {
+  before(node, null, children);
+};
  
 /**
  * Prepends the given children at the start of the given Node.
  * @param node The Node to which the children shall be prepended.
  * @param children The Nodes which shall be prepended.
  */
-export const prependChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { before(node, node && node.firstChild, children) };
+export const prependChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => {
+  before(node, node && node.firstChild, children);
+};
  
 /**
  * Inserts the given Nodes before the given Node.
  * @param node The Node before which the given Nodes shall be inserted.
  * @param insertedNodes The Nodes which shall be inserted.
  */
-export const insertBefore: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { before(parent(node), node, insertedNodes) };
+export const insertBefore: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => {
+  before(parent(node), node, insertedNodes);
+};
  
 /**
  * Inserts the given Nodes after the given Node.
  * @param node The Node after which the given Nodes shall be inserted.
  * @param insertedNodes The Nodes which shall be inserted.
  */
-export const insertAfter: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { before(parent(node), node && node.nextSibling, insertedNodes) };
+export const insertAfter: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => {
+  before(parent(node), node && node.nextSibling, insertedNodes);
+};
  
 /**
  * Removes the given Nodes from their parent.
  * @param nodes The Nodes which shall be removed.
  */
 export const removeElements: (nodes: NodeCollection) => void = (nodes) => {
-    if (isArrayLike(nodes)) {
-        each(Array.from(nodes), (e) => removeElements(e));
+  if (isArrayLike(nodes)) {
+    each(Array.from(nodes), (e) => removeElements(e));
+  } else if (nodes) {
+    const { parentNode } = nodes;
+    if (parentNode) {
+      parentNode.removeChild(nodes);
     }
-    else if (nodes) {
-        const parentNode = nodes.parentNode;
-        if (parentNode)
-            parentNode.removeChild(nodes);
-    }
-}
+ } +}; + 
diff --git a/coverage/lcov-report/src/core/dom/offset.ts.html b/coverage/lcov-report/src/core/dom/offset.ts.html index 04df1d2..5efeb14 100644 --- a/coverage/lcov-report/src/core/dom/offset.ts.html +++ b/coverage/lcov-report/src/core/dom/offset.ts.html @@ -44,9 +44,9 @@
- 40% + 50% Lines - 2/5 + 2/4
@@ -69,8 +69,7 @@ 10 11 12 -13 -143x +133x       @@ -79,31 +78,29 @@     3x -         
export const offset = (elm: HTMLElement) => {
-    const rect = elm.getBoundingClientRect();
-    return {
-        top: rect.top + window.pageXOffset,
-        left: rect.left + window.pageYOffset
-    };
-}
+  const rect = elm.getBoundingClientRect();
+  return {
+    top: rect.top + window.pageXOffset,
+    left: rect.left + window.pageYOffset,
+  };
+};
  
-export const position = (elm: HTMLElement) => {
-    return {
-        top: elm.offsetTop,
-        left: elm.offsetLeft
-    };
-}
+export const position = (elm: HTMLElement) => ({ + top: elm.offsetTop, + left: elm.offsetLeft, +}); + 
diff --git a/coverage/lcov-report/src/core/dom/style.ts.html b/coverage/lcov-report/src/core/dom/style.ts.html index cedc298..fe3051a 100644 --- a/coverage/lcov-report/src/core/dom/style.ts.html +++ b/coverage/lcov-report/src/core/dom/style.ts.html @@ -39,14 +39,14 @@
0% Functions - 0/5 + 0/6
- 26.32% + 27.78% Lines - 5/19 + 5/18
@@ -113,13 +113,7 @@ 54 55 56 -57 -58 -59 -60 -61 -62 -63  +57        @@ -141,14 +135,13 @@   3x   -  -  -  -  -    3x   +  +  +  +        @@ -163,12 +156,8 @@       -      -  -  -        @@ -180,69 +169,62 @@ 3x     -   
import { isString, isNumber, isUndefined } from 'core/utils/types';
  
 type cssStyleObj = { [key: string]: string | number };
  
 const cssNumber = {
-    animationIterationCount: true,
-    columnCount: true,
-    fillOpacity: true,
-    flexGrow: true,
-    flexShrink: true,
-    fontWeight: true,
-    lineHeight: true,
-    opacity: true,
-    order: true,
-    orphans: true,
-    widows: true,
-    zIndex: true,
-    zoom: true
+  animationIterationCount: true,
+  columnCount: true,
+  fillOpacity: true,
+  flexGrow: true,
+  flexShrink: true,
+  fontWeight: true,
+  lineHeight: true,
+  opacity: true,
+  order: true,
+  orphans: true,
+  widows: true,
+  zIndex: true,
+  zoom: true,
 };
  
-const setCSSVal: (elm: HTMLElement, prop: string, val: string | number) => void = (elm, prop, val) => {
-    try {
-        if (elm.style[prop] !== undefined) {
-            elm.style[prop] = parseCSSVal(prop, val);
-        }
-    } catch (e) { }
-}
+const parseCSSVal: (prop: string, val: string | number) => string | number = (prop, val) =>
+  !cssNumber[prop.toLowerCase()] && isNumber(val) ? `${val}px` : val;
  
-const parseCSSVal: (prop: string, val: string | number) => string | number = (prop, val) => {
-    return !cssNumber[prop.toLowerCase()] && isNumber(val) ? val + 'px' : val;
-}
+const setCSSVal: (elm: HTMLElement, prop: string, val: string | number) => void = (elm, prop, val) => {
+  try {
+    if (elm.style[prop] !== undefined) {
+      elm.style[prop] = parseCSSVal(prop, val);
+    }
+  } catch (e) {}
+};
  
 export function style(elm: HTMLElement, styles: string | cssStyleObj): string;
 export function style(elm: HTMLElement, styles: string | cssStyleObj, val: string | number): void;
 export function style(elm: HTMLElement, styles: string | cssStyleObj, val?: string | number): string | void {
-    const getCptStyle: Function = window.getComputedStyle;
+  const getCptStyle = window.getComputedStyle;
  
-    if (isString(styles)) {
-        if (isUndefined(val)) {
-            const cptStyle: CSSStyleDeclaration = getCptStyle(elm, null);
+  if (isString(styles)) {
+    if (isUndefined(val)) {
+      const cptStyle: CSSStyleDeclaration = getCptStyle(elm, null);
  
-            //https://bugzilla.mozilla.org/show_bug.cgi?id=548397 can be null sometimes if iframe with display: none (firefox only!)
-            return cptStyle != null ? cptStyle.getPropertyValue(styles) : elm.style[styles];
-        }
-        else {
-            setCSSVal(elm, styles, val);
-        }
-    }
-    else {
-        for (const key in styles)
-            setCSSVal(elm, key, styles[key]);
+      // https://bugzilla.mozilla.org/show_bug.cgi?id=548397 can be null sometimes if iframe with display: none (firefox only!)
+      return cptStyle != null ? cptStyle.getPropertyValue(styles) : elm.style[styles];
     }
+    setCSSVal(elm, styles, val);
+  } else {
+    Object.keys(styles).forEach((key) => setCSSVal(elm, key, styles[key]));
+  }
 }
  
 export const hide: (elm: HTMLElement) => void = (elm) => {
-    elm.style.display = 'none';
-}
+  elm.style.display = 'none';
+};
  
 export const show: (elm: HTMLElement) => void = (elm) => {
-    elm.style.display = 'block';
-}
- 
+  elm.style.display = 'block';
+};
  
@@ -250,7 +232,7 @@ export const show: (elm: HTMLElement) => void = Code coverage generated by istanbul - at Mon Jul 20 2020 17:08:17 GMT+0200 (GMT+02:00) + at Sat Jul 25 2020 00:36:56 GMT+0200 (GMT+02:00) diff --git a/coverage/lcov-report/src/core/dom/traversal.ts.html b/coverage/lcov-report/src/core/dom/traversal.ts.html index b4167b6..ceaedd3 100644 --- a/coverage/lcov-report/src/core/dom/traversal.ts.html +++ b/coverage/lcov-report/src/core/dom/traversal.ts.html @@ -46,7 +46,7 @@
100% Lines - 29/29 + 26/26
@@ -107,12 +107,9 @@ 48 49 50 -51 -52  +51    4x -4x -    4x 6x @@ -124,19 +121,20 @@ 6x     -4x 19x   -  4x 31x 22x 2x +  20x 2x +  18x 6x   +  21x     @@ -152,72 +150,71 @@ 3x     +  3x     -4x 38x   -  -14x
import { each } from 'core/utils/arrays';
+14x
+ 
import { each } from 'core/utils/arrays';
  
-const elementIsVisible: (elm: HTMLElement) => boolean = (elm) => {
-    return !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length);
-}
+const elementIsVisible: (elm: HTMLElement) => boolean = (elm) => !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length);
  
 export const find: (selector: string, elm?: Element | null) => ReadonlyArray<Element> = (selector, elm?) => {
-    const arr: Array<Element> = [];
+  const arr: Array<Element> = [];
  
-    each((elm || document).querySelectorAll(selector), (e: Element) => {
-        arr.push(e);
-    });
+  each((elm || document).querySelectorAll(selector), (e: Element) => {
+    arr.push(e);
+  });
  
-    return arr;
-}
+  return arr;
+};
  
-export const findFirst: (selector: string, elm?: Element | null) => Element | null = (selector, elm?) => {
-    return (elm || document).querySelector(selector);
-}
+export const findFirst: (selector: string, elm?: Element | null) => Element | null = (selector, elm?) => (elm || document).querySelector(selector);
  
 export const is: (elm: Element | null, selector: string) => boolean = (elm, selector) => {
-    if (elm) {
-        if (selector === ':visible')
-            return elementIsVisible(elm as HTMLElement);
-        if (selector === ':hidden')
-            return !elementIsVisible(elm as HTMLElement);
-        if (elm.matches(selector))
-            return true;
+  if (elm) {
+    if (selector === ':visible') {
+      return elementIsVisible(elm as HTMLElement);
     }
-    return false;
-}
+    if (selector === ':hidden') {
+      return !elementIsVisible(elm as HTMLElement);
+    }
+    if (elm.matches(selector)) {
+      return true;
+    }
+  }
+  return false;
+};
  
 export const children: (elm: Element | null, selector?: string) => ReadonlyArray<Element> = (elm, selector?) => {
-    const children: Array<Element> = [];
+  const childs: Array<Element> = [];
  
-    each(elm && elm.children, (child: Element) => {
-        if (selector) {
-            if (child.matches(selector))
-                children.push(child);
-        }
-        else
-            children.push(child);
-    });
+  each(elm && elm.children, (child: Element) => {
+    if (selector) {
+      if (child.matches(selector)) {
+        childs.push(child);
+      }
+    } else {
+      childs.push(child);
+    }
+  });
  
-    return children;
-}
+  return childs;
+};
  
-export const contents: (elm: Element | null) => ReadonlyArray<ChildNode> = (elm) => {
-    return elm ? Array.from<ChildNode>(elm.childNodes) : [];
-}
+export const contents: (elm: Element | null) => ReadonlyArray<ChildNode> = (elm) => (elm ? Array.from<ChildNode>(elm.childNodes) : []);
  
-export const parent: (elm: Node | null) => Node | null = (elm) => elm ? elm.parentElement : null;
+export const parent: (elm: Node | null) => Node | null = (elm) => (elm ? elm.parentElement : null); + 
diff --git a/coverage/lcov-report/src/core/options/index.html b/coverage/lcov-report/src/core/options/index.html index 9f9da16..05a38fb 100644 --- a/coverage/lcov-report/src/core/options/index.html +++ b/coverage/lcov-report/src/core/options/index.html @@ -125,7 +125,7 @@ diff --git a/coverage/lcov-report/src/core/options/index.ts.html b/coverage/lcov-report/src/core/options/index.ts.html index 68145fe..e2f41f5 100644 --- a/coverage/lcov-report/src/core/options/index.ts.html +++ b/coverage/lcov-report/src/core/options/index.ts.html @@ -58,16 +58,19 @@
1 -2  +2 +3  +   
export * from 'core/options/validation';
-export * from 'core/options/transformation';
+export * from 'core/options/transformation'; + 
diff --git a/coverage/lcov-report/src/core/options/transformation.ts.html b/coverage/lcov-report/src/core/options/transformation.ts.html index 68579e3..f924a88 100644 --- a/coverage/lcov-report/src/core/options/transformation.ts.html +++ b/coverage/lcov-report/src/core/options/transformation.ts.html @@ -83,7 +83,20 @@ 24 25 26 -27  +27 +28 +29 +30 +31 +32 +33 +34  +  +  +  +  +  +        @@ -107,11 +120,12 @@       +  16x   - 
import { OptionsTemplate, OptionsAndOptionsTemplate, PlainObject, OptionsTemplateTypes } from "core/typings";
-import { isArray, isObject } from "core/utils/types";
-import { each } from "core/utils/arrays";
+ 
import { OptionsTemplate, OptionsAndOptionsTemplate, PlainObject, OptionsTemplateTypes } from 'core/typings';
+import { isArray, isObject } from 'core/utils/types';
+import { each } from 'core/utils/arrays';
  
 /**
  * Transforms the given OptionsAndOptionsTemplate<T> object to its corresponding generic (T) Object or its corresponding Template object.
@@ -119,22 +133,29 @@ import { each } from "core/utils/arrays";
  * @param toTemplate True if the given OptionsAndOptionsTemplate<T> shall be converted to its corresponding Template object.
  */
 export function transform<T extends Required<T>>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate<T>): T;
-export function transform<T extends Required<T>>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate<T>, toTemplate: true | void): OptionsTemplate<T>;
-export function transform<T extends Required<T>>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate<T>, toTemplate?: true | void): OptionsTemplate<T> | T {
-    const result: any = {};
+export function transform<T extends Required<T>>(
+  optionsWithOptionsTemplate: OptionsAndOptionsTemplate<T>,
+  toTemplate: true | void,
+): OptionsTemplate<T>;
+export function transform<T extends Required<T>>(
+  optionsWithOptionsTemplate: OptionsAndOptionsTemplate<T>,
+  toTemplate?: true | void,
+): OptionsTemplate<T> | T {
+  const result: any = {};
  
-    each(Object.keys(optionsWithOptionsTemplate), (key: Extract<keyof T, string>) => {
-        const val: PlainObject | OptionsTemplateTypes | Array<OptionsTemplateTypes> = optionsWithOptionsTemplate[key];
+  each(Object.keys(optionsWithOptionsTemplate), (key: Extract<keyof T, string>) => {
+    const val: PlainObject | OptionsTemplateTypes | Array<OptionsTemplateTypes> = optionsWithOptionsTemplate[key];
  
-        /* istanbul ignore else */
-        if (isArray(val))
-            result[key] = val[toTemplate ? 1 : 0];
-        else if (isObject(val))
-            result[key] = transform(val as OptionsAndOptionsTemplate<typeof val>, toTemplate);
-    });
+    /* istanbul ignore else */
+    if (isArray(val)) {
+      result[key] = val[toTemplate ? 1 : 0];
+    } else if (isObject(val)) {
+      result[key] = transform(val as OptionsAndOptionsTemplate<typeof val>, toTemplate);
+    }
+  });
  
-    return result;
-};
+  return result;
+}
  
@@ -142,7 +163,7 @@ export function transform<T extends Required<T>>(optionsWithOptionsT diff --git a/coverage/lcov-report/src/core/options/validation.ts.html b/coverage/lcov-report/src/core/options/validation.ts.html index 6108ec6..053f3e0 100644 --- a/coverage/lcov-report/src/core/options/validation.ts.html +++ b/coverage/lcov-report/src/core/options/validation.ts.html @@ -221,7 +221,29 @@ 162 163 164 -165  +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179  +  +  +  +  +  +  +  +        @@ -238,13 +260,6 @@   3x   -  -  -  -  -  -  -  21x 21x   @@ -267,7 +282,15 @@       +  +  3x +  +  +  +  +  +  65x 65x 372x @@ -290,7 +313,6 @@ 33x     -  339x 336x 336x @@ -298,6 +320,8 @@ 336x 336x   +  +  336x   417x @@ -309,7 +333,6 @@   64x   -  353x     @@ -320,19 +343,20 @@ 417x     -  336x 310x 310x 256x   -  26x 2x         +  +  +  336x     @@ -371,6 +395,10 @@       +  +  +  +  32x     @@ -387,9 +415,17 @@    
import { each, indexOf } from 'core/utils/arrays';
 import { type, isArray, isUndefined, isEmptyObject, isPlainObject, isString } from 'core/utils/types';
-import { PlainObject, OptionsTemplate, OptionsTemplateTypes, OptionsTemplateType, OptionsValidated, Func, OptionsValidatedResult } from 'core/typings';
+import {
+  PlainObject,
+  OptionsTemplate,
+  OptionsTemplateTypes,
+  OptionsTemplateType,
+  OptionsValidated,
+  Func,
+  OptionsValidatedResult,
+} from 'core/typings';
  
-const stringify = JSON.stringify;
+const { stringify } = JSON;
  
 /**
  * A prefix and suffix tuple which serves as recognition pattern for template types.
@@ -400,18 +436,13 @@ const templateTypePrefixSuffix: readonly [string, string] = ['__TPL_', '_TYPE__'
  * Key   = normal type string
  * value = template type string
  */
-const optionsTemplateTypes: OptionsTemplateTypesDictionary = [
-    'boolean',
-    'number',
-    'string',
-    'array',
-    'object',
-    'function',
-    'null'
-].reduce((result, item) => {
+const optionsTemplateTypes: OptionsTemplateTypesDictionary = ['boolean', 'number', 'string', 'array', 'object', 'function', 'null'].reduce(
+  (result, item) => {
     result[item] = templateTypePrefixSuffix[0] + item + templateTypePrefixSuffix[1];
     return result;
-}, {} as OptionsTemplateTypesDictionary);
+  },
+  {} as OptionsTemplateTypesDictionary,
+);
  
 /**
  * Validates the given options object according to the given template object and returns a object which looks like:
@@ -422,7 +453,7 @@ const optionsTemplateTypes: OptionsTemplateTypesDictionary = [
  * @param options The options object which shall be validated.
  * @param template The template according to which the options object shall be validated.
  * @param optionsDiff When provided the returned validated object will only have properties which are different to this objects properties.
- * Example (assume all properties are valid to the template): 
+ * Example (assume all properties are valid to the template):
  * Options object            : { a: 'a', b: 'b', c: 'c' }
  * optionsDiff object        : { a: 'a', b: 'b', c: undefined }
  * Returned validated object : { c: 'c' }
@@ -431,80 +462,87 @@ const optionsTemplateTypes: OptionsTemplateTypesDictionary = [
  * @param doWriteErrors True if errors shall be logged into the console, false otherwise.
  * @param propPath The propertyPath which lead to this object. (used for error logging)
  */
-const validateRecursive = function <T extends PlainObject>(options: T, template: OptionsTemplate<Required<T>>, optionsDiff: OptionsValidated<T>, doWriteErrors?: boolean, propPath?: string): OptionsValidatedResult<T> {
-    const validatedOptions: OptionsValidated<T> = {};
-    const optionsCopy: T = Object.assign({}, options);
-    const props = Object.keys(template).filter(prop => options.hasOwnProperty(prop));
+const validateRecursive = function <T extends PlainObject>(
+  options: T,
+  template: OptionsTemplate<Required<T>>,
+  optionsDiff: OptionsValidated<T>,
+  doWriteErrors?: boolean,
+  propPath?: string,
+): OptionsValidatedResult<T> {
+  const validatedOptions: OptionsValidated<T> = {};
+  const optionsCopy: T = { ...options };
+  const props = Object.keys(template).filter((prop) => options.hasOwnProperty(prop));
  
-    each(props, (prop: Extract<keyof T, string>) => {
-        const optionsDiffValue: any = isUndefined(optionsDiff[prop]) ? {} : optionsDiff[prop];
-        const optionsValue: any = options[prop];
-        const templateValue: PlainObject | string | OptionsTemplateTypes | Array<OptionsTemplateTypes> = template[prop];
-        const templateIsComplex = isPlainObject(templateValue);
-        const propPrefix = propPath ? propPath + '.' : '';
+  each(props, (prop: Extract<keyof T, string>) => {
+    const optionsDiffValue: any = isUndefined(optionsDiff[prop]) ? {} : optionsDiff[prop];
+    const optionsValue: any = options[prop];
+    const templateValue: PlainObject | string | OptionsTemplateTypes | Array<OptionsTemplateTypes> = template[prop];
+    const templateIsComplex = isPlainObject(templateValue);
+    const propPrefix = propPath ? `${propPath}.` : '';
  
-        //if the template has a object as value, it means that the options are complex (verschachtelt)
-        if (templateIsComplex && isPlainObject(optionsValue)) {
-            const validatedResult = validateRecursive(optionsValue, templateValue as PlainObject, optionsDiffValue, doWriteErrors, propPrefix + prop);
-            validatedOptions[prop] = validatedResult.validated;
-            optionsCopy[prop] = validatedResult.foreign as any;
+    // if the template has a object as value, it means that the options are complex (verschachtelt)
+    if (templateIsComplex && isPlainObject(optionsValue)) {
+      const validatedResult = validateRecursive(optionsValue, templateValue as PlainObject, optionsDiffValue, doWriteErrors, propPrefix + prop);
+      validatedOptions[prop] = validatedResult.validated;
+      optionsCopy[prop] = validatedResult.foreign as any;
  
-            each([optionsCopy, validatedOptions], (value) => {
-                if (isEmptyObject(value[prop])) {
-                    delete value[prop];
-                }
-            });
+      each([optionsCopy, validatedOptions], (value) => {
+        if (isEmptyObject(value[prop])) {
+          delete value[prop];
         }
-        else if (!templateIsComplex) {
-            let isValid = false;
-            const errorEnumStrings: Array<string> = [];
-            const errorPossibleTypes: Array<string> = [];
-            const optionsValueType = type(optionsValue);
-            const templateValueArr: Array<string | OptionsTemplateTypes> = !isArray(templateValue) ? [templateValue as string | OptionsTemplateTypes] : templateValue as Array<OptionsTemplateTypes>;
+      });
+    } else if (!templateIsComplex) {
+      let isValid = false;
+      const errorEnumStrings: Array<string> = [];
+      const errorPossibleTypes: Array<string> = [];
+      const optionsValueType = type(optionsValue);
+      const templateValueArr: Array<string | OptionsTemplateTypes> = !isArray(templateValue)
+        ? [templateValue as string | OptionsTemplateTypes]
+        : (templateValue as Array<OptionsTemplateTypes>);
  
-            each(templateValueArr, (currTemplateType) => {
-                //if currType value isn't inside possibleTemplateTypes we assume its a enum string value
-                const isEnumString = indexOf(Object.values(optionsTemplateTypes), currTemplateType) < 0;
-                if (isEnumString && isString(optionsValue)) {
-                    //split it into a array which contains all possible values for example: ["yes", "no", "maybe"]
-                    const enumStringSplit = currTemplateType.split(' ');
-                    isValid = !!enumStringSplit.find(possibility => possibility === optionsValue);
+      each(templateValueArr, (currTemplateType) => {
+        // if currType value isn't inside possibleTemplateTypes we assume its a enum string value
+        const isEnumString = indexOf(Object.values(optionsTemplateTypes), currTemplateType) < 0;
+        if (isEnumString && isString(optionsValue)) {
+          // split it into a array which contains all possible values for example: ["yes", "no", "maybe"]
+          const enumStringSplit = currTemplateType.split(' ');
+          isValid = !!enumStringSplit.find((possibility) => possibility === optionsValue);
  
-                    // build error message
-                    errorEnumStrings.push(...enumStringSplit);
-                }
-                else {
-                    isValid = optionsTemplateTypes[optionsValueType] === currTemplateType;
-                }
- 
-                // build error message
-                errorPossibleTypes.push(isEnumString ? optionsTemplateTypes.string : currTemplateType);
- 
-                // continue if invalid, break if valid
-                return !isValid;
-            });
- 
- 
-            if (isValid) {
-                const doStringifyComparison = isArray(optionsValue) || isPlainObject(optionsValue);
-                if (doStringifyComparison ? stringify(optionsValue) !== stringify(optionsDiffValue) : optionsValue !== optionsDiffValue) {
-                    validatedOptions[prop] = optionsValue;
-                }
-            }
-            else if (doWriteErrors) {
-                console.warn(`The option "${propPrefix}${prop}" wasn't set, because it doesn't accept the type [ ${optionsValueType.toUpperCase()} ] with the value of "${optionsValue}".\r\n` +
-                    `Accepted types are: [ ${errorPossibleTypes.join(', ').toUpperCase()} ].\r\n` +
-                    (errorEnumStrings.length > 0 ? `\r\nValid strings are: [ ${errorEnumStrings.join(', ')} ].` : ''))
-            }
- 
-            delete optionsCopy[prop];
+          // build error message
+          errorEnumStrings.push(...enumStringSplit);
+        } else {
+          isValid = optionsTemplateTypes[optionsValueType] === currTemplateType;
         }
-    });
  
-    return {
-        foreign: optionsCopy,
-        validated: validatedOptions
-    };
+        // build error message
+        errorPossibleTypes.push(isEnumString ? optionsTemplateTypes.string : currTemplateType);
+ 
+        // continue if invalid, break if valid
+        return !isValid;
+      });
+ 
+      if (isValid) {
+        const doStringifyComparison = isArray(optionsValue) || isPlainObject(optionsValue);
+        if (doStringifyComparison ? stringify(optionsValue) !== stringify(optionsDiffValue) : optionsValue !== optionsDiffValue) {
+          validatedOptions[prop] = optionsValue;
+        }
+      } else if (doWriteErrors) {
+        console.warn(
+          `${
+            `The option "${propPrefix}${prop}" wasn't set, because it doesn't accept the type [ ${optionsValueType.toUpperCase()} ] with the value of "${optionsValue}".\r\n` +
+            `Accepted types are: [ ${errorPossibleTypes.join(', ').toUpperCase()} ].\r\n`
+          }${errorEnumStrings.length > 0 ? `\r\nValid strings are: [ ${errorEnumStrings.join(', ')} ].` : ''}`,
+        );
+      }
+ 
+      delete optionsCopy[prop];
+    }
+  });
+ 
+  return {
+    foreign: optionsCopy,
+    validated: validatedOptions,
+  };
 };
  
 /**
@@ -516,7 +554,7 @@ const validateRecursive = function <T extends PlainObject>(options: T, tem
  * @param options The options object which shall be validated.
  * @param template The template according to which the options object shall be validated.
  * @param optionsDiff When provided the returned validated object will only have properties which are different to this objects properties.
- * Example (assume all properties are valid to the template): 
+ * Example (assume all properties are valid to the template):
  * Options object            : { a: 'a', b: 'b', c: 'c' }
  * optionsDiff object        : { a: 'a', b: 'b', c: undefined }
  * Returned validated object : { c: 'c' }
@@ -524,31 +562,35 @@ const validateRecursive = function <T extends PlainObject>(options: T, tem
  * Without the optionsDiff object the returned validated object would be: { a: 'a', b: 'b', c: 'c' }
  * @param doWriteErrors True if errors shall be logged into the console, false otherwise.
  */
-const validate = function <T extends PlainObject>(options: T, template: OptionsTemplate<Required<T>>, optionsDiff?: OptionsValidated<T>, doWriteErrors?: boolean): OptionsValidatedResult<T> {
-    /*
+const validate = function <T extends PlainObject>(
+  options: T,
+  template: OptionsTemplate<Required<T>>,
+  optionsDiff?: OptionsValidated<T>,
+  doWriteErrors?: boolean,
+): OptionsValidatedResult<T> {
+  /*
     if (!isEmptyObject(foreign) && doWriteErrors)
         console.warn(`The following options are discarded due to invalidity:\r\n ${window.JSON.stringify(foreign, null, 2)}`);
  
-    
     //add values, which aren't specified in the template, to the finished validated object to prevent them from being discarded
     if (keepForeignProps) {
         Object.assign(result.validated, foreign);
     }
     */
-    return validateRecursive(options, template, optionsDiff || {}, doWriteErrors || false);
+  return validateRecursive(options, template, optionsDiff || {}, doWriteErrors || false);
 };
  
 export { validate, optionsTemplateTypes };
  
 type OptionsTemplateTypesDictionary = {
-    readonly boolean: OptionsTemplateType<boolean>;
-    readonly number: OptionsTemplateType<number>;
-    readonly string: OptionsTemplateType<string>;
-    readonly array: OptionsTemplateType<Array<any>>;
-    readonly object: OptionsTemplateType<object>;
-    readonly function: OptionsTemplateType<Func>;
-    readonly null: OptionsTemplateType<null>;
-}
+  readonly boolean: OptionsTemplateType<boolean>;
+  readonly number: OptionsTemplateType<number>;
+  readonly string: OptionsTemplateType<string>;
+  readonly array: OptionsTemplateType<Array<any>>;
+  readonly object: OptionsTemplateType<object>; // eslint-disable-line @typescript-eslint/ban-types
+  readonly function: OptionsTemplateType<Func>;
+  readonly null: OptionsTemplateType<null>;
+};
  
@@ -556,7 +598,7 @@ type OptionsTemplateTypesDictionary = { diff --git a/coverage/lcov-report/src/core/utils/arrays.ts.html b/coverage/lcov-report/src/core/utils/arrays.ts.html index 4a8b71e..57af0d4 100644 --- a/coverage/lcov-report/src/core/utils/arrays.ts.html +++ b/coverage/lcov-report/src/core/utils/arrays.ts.html @@ -25,28 +25,28 @@
100% Statements - 12/12 + 11/11
100% Branches - 8/8 + 6/6
100% Functions - 2/2 + 3/3
100% Lines - 12/12 + 8/8
@@ -100,7 +100,15 @@ 41 42 43 -44  +44 +45 +46 +47 +48 +49 +50 +51 +52        @@ -118,21 +126,30 @@       -694x   -694x -688x -2211x -320x +  +  +  +  +  +  +  +  +  +  +  +  +  +699x +693x +2224x +321x     6x -5x 13x -1x   -  -694x +699x       @@ -141,42 +158,50 @@       -9x 418x  
import { isArrayLike } from 'core/utils/types';
 import { PlainObject } from 'core/typings';
  
- 
 /**
  * Iterates through a array or object
  * @param arrayLikeOrObject The array or object through which shall be iterated.
- * @param callback The function which is responsible for the iteration. 
+ * @param callback The function which is responsible for the iteration.
  * If the function returns true its treated like a "continue" statement.
  * If the function returns false its treated like a "break" statement.
  */
-export function each<T>(array: Array<T> | ReadonlyArray<T>, callback: (value: T, indexOrKey: number, source: Array<T>) => boolean | void): Array<T> | ReadonlyArray<T>;
-export function each<T>(array: Array<T> | ReadonlyArray<T> | null, callback: (value: T, indexOrKey: number, source: Array<T>) => boolean | void): Array<T> | ReadonlyArray<T> | null;
-export function each<T>(arrayLikeObject: ArrayLike<T>, callback: (value: T, indexOrKey: number, source: ArrayLike<T>) => boolean | void): ArrayLike<T>;
-export function each<T>(arrayLikeObject: ArrayLike<T> | null, callback: (value: T, indexOrKey: number, source: ArrayLike<T>) => boolean | void): ArrayLike<T> | null;
+export function each<T>(
+  array: Array<T> | ReadonlyArray<T>,
+  callback: (value: T, indexOrKey: number, source: Array<T>) => boolean | void,
+): Array<T> | ReadonlyArray<T>;
+export function each<T>(
+  array: Array<T> | ReadonlyArray<T> | null,
+  callback: (value: T, indexOrKey: number, source: Array<T>) => boolean | void,
+): Array<T> | ReadonlyArray<T> | null;
+export function each<T>(
+  arrayLikeObject: ArrayLike<T>,
+  callback: (value: T, indexOrKey: number, source: ArrayLike<T>) => boolean | void,
+): ArrayLike<T>;
+export function each<T>(
+  arrayLikeObject: ArrayLike<T> | null,
+  callback: (value: T, indexOrKey: number, source: ArrayLike<T>) => boolean | void,
+): ArrayLike<T> | null;
 export function each(obj: PlainObject, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject;
 export function each(obj: PlainObject | null, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject | null;
-export function each<T>(source: ArrayLike<T> | PlainObject | null, callback: (value: T | any, indexOrKey: any, source: any) => boolean | void): Array<T> | ReadonlyArray<T> | ArrayLike<T> | PlainObject | null {
-    let i: number | string = 0;
- 
-    if (isArrayLike(source)) {
-        for (; i < source.length; i++) {
-            if (callback(source[i], i, source) === false)
-                break;
-        }
+export function each<T>(
+  source: ArrayLike<T> | PlainObject | null,
+  callback: (value: T | any, indexOrKey: any, source: any) => boolean | void,
+): Array<T> | ReadonlyArray<T> | ArrayLike<T> | PlainObject | null {
+  if (isArrayLike(source)) {
+    for (let i = 0; i < source.length; i++) {
+      if (callback(source[i], i, source) === false) {
+        break;
+      }
     }
-    else if (source) {
-        for (i in source) {
-            if (callback(source[i], i, source) === false)
-                break;
-        }
-    }
-    return source;
-};
+  } else if (source) {
+    each(Object.keys(source), (key) => callback(source[key], key, source));
+  }
+  return source;
+}
  
 /**
  * Returns the index of the given inside the given array or -1 if the given item isn't part of the given array.
@@ -184,16 +209,15 @@ export function each<T>(source: ArrayLike<T> | PlainObject | null, c
  * @param item The item.
  * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.
  */
-export const indexOf: <T = any>(arr: Array<T>, item: T, fromIndex?: number) => number = (arr, item, fromIndex) => {
-    return arr.indexOf(item, fromIndex);
-}
+export const indexOf: <T = any>(arr: Array<T>, item: T, fromIndex?: number) => number = (arr, item, fromIndex) => arr.indexOf(item, fromIndex); + 
diff --git a/coverage/lcov-report/src/core/utils/extend.ts.html b/coverage/lcov-report/src/core/utils/extend.ts.html index 41f998b..893c583 100644 --- a/coverage/lcov-report/src/core/utils/extend.ts.html +++ b/coverage/lcov-report/src/core/utils/extend.ts.html @@ -115,7 +115,26 @@ 56 57 58 -59  +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69  +  +  +  +  +  +  +  +  +        @@ -136,7 +155,6 @@   1080x   -  217x 632x   @@ -173,6 +191,8 @@     180x +  +   
import { isArray, isFunction, isPlainObject, isNull } from 'core/utils/types';
 import { each } from 'core/utils/arrays';
  
@@ -182,63 +202,73 @@ export function extend<T, U, V>(target: T, object1: U, object2: V): T &
 export function extend<T, U, V, W>(target: T, object1: U, object2: V, object3: W): T & U & V & W;
 export function extend<T, U, V, W, X>(target: T, object1: U, object2: V, object3: W, object4: X): T & U & V & W & X;
 export function extend<T, U, V, W, X, Y>(target: T, object1: U, object2: V, object3: W, object4: X, object5: Y): T & U & V & W & X & Y;
-export function extend<T, U, V, W, X, Y, Z>(target: T, object1?: U, object2?: V, object3?: W, object4?: X, object5?: Y, object6?: Z): T & U & V & W & X & Y & Z {
-    const sources: Array<any> = [object1, object2, object3, object4, object5, object6];
+export function extend<T, U, V, W, X, Y, Z>(
+  target: T,
+  object1?: U,
+  object2?: V,
+  object3?: W,
+  object4?: X,
+  object5?: Y,
+  object6?: Z,
+): T & U & V & W & X & Y & Z {
+  /* eslint-disable no-restricted-syntax, guard-for-in */
+  const sources: Array<any> = [object1, object2, object3, object4, object5, object6];
  
-    // Handle case when target is a string or something (possible in deep copy)
-    if ((typeof target !== "object" || isNull(target)) && !isFunction(target)) {
-        target = {} as T;
-    }
+  // Handle case when target is a string or something (possible in deep copy)
+  if ((typeof target !== 'object' || isNull(target)) && !isFunction(target)) {
+    target = {} as T;
+  }
  
-    each(sources, (source) => {
-        // Only deal with non-null/undefined values
-        if (source != null) {
+  each(sources, (source) => {
+    // Only deal with non-null/undefined values
+    if (source != null) {
+      // Extend the base object
+      for (const name in source) {
+        const copy: any = source[name];
  
-            // Extend the base object
-            for (const name in source) {
-                const copy: any = source[name];
- 
-                // Prevent Object.prototype pollution
-                // Prevent never-ending loop
-                if (name === "__proto__" || target === copy) {
-                    continue;
-                }
- 
-                const copyIsArray = isArray(copy);
- 
-                // Recurse if we're merging plain objects or arrays
-                if (copy && (isPlainObject(copy) || copyIsArray)) {
-                    const src = target[name];
-                    let clone: any = src;
- 
-                    // Ensure proper type for the source value
-                    if (copyIsArray && !isArray(src)) {
-                        clone = [];
-                    } else if (!copyIsArray && !isPlainObject(src)) {
-                        clone = {};
-                    }
- 
-                    // Never move original objects, clone them
-                    target[name] = extend(clone, copy) as any;
- 
-                    // Don't bring in undefined values
-                } else if (copy !== undefined) {
-                    target[name] = copy;
-                }
-            }
+        // Prevent Object.prototype pollution
+        // Prevent never-ending loop
+        if (name === '__proto__' || target === copy) {
+          continue;
         }
-    });
  
-    // Return the modified object
-    return target as any;
-}
+ const copyIsArray = isArray(copy); +  + // Recurse if we're merging plain objects or arrays + if (copy && (isPlainObject(copy) || copyIsArray)) { + const src = target[name]; + let clone: any = src; +  + // Ensure proper type for the source value + if (copyIsArray && !isArray(src)) { + clone = []; + } else if (!copyIsArray && !isPlainObject(src)) { + clone = {}; + } +  + // Never move original objects, clone them + target[name] = extend(clone, copy) as any; +  + // Don't bring in undefined values + } else if (copy !== undefined) { + target[name] = copy; + } + } + } + }); +  + // Return the modified object + return target as any; + /* eslint-enable */ +} + 
diff --git a/coverage/lcov-report/src/core/utils/index.html b/coverage/lcov-report/src/core/utils/index.html index b713d09..a966a27 100644 --- a/coverage/lcov-report/src/core/utils/index.html +++ b/coverage/lcov-report/src/core/utils/index.html @@ -25,28 +25,28 @@
100% Statements - 65/65 + 64/64
100% Branches - 71/71 + 69/69
100% Functions - 17/17 + 18/18
100% Lines - 65/65 + 57/57
@@ -78,13 +78,13 @@
100% - 12/12 + 11/11 + 100% + 6/6 + 100% + 3/3 100% 8/8 - 100% - 2/2 - 100% - 12/12 @@ -129,7 +129,7 @@ 100% 13/13 100% - 32/32 + 28/28 @@ -140,7 +140,7 @@ diff --git a/coverage/lcov-report/src/core/utils/index.ts.html b/coverage/lcov-report/src/core/utils/index.ts.html index 882aa5c..6ba39f8 100644 --- a/coverage/lcov-report/src/core/utils/index.ts.html +++ b/coverage/lcov-report/src/core/utils/index.ts.html @@ -59,18 +59,21 @@
1 2 -3  +3 +4  +     
export * from 'core/utils/arrays';
 export * from 'core/utils/extend';
-export * from 'core/utils/types';
+export * from 'core/utils/types'; + 
diff --git a/coverage/lcov-report/src/core/utils/types.ts.html b/coverage/lcov-report/src/core/utils/types.ts.html index 78b4f45..a389f4a 100644 --- a/coverage/lcov-report/src/core/utils/types.ts.html +++ b/coverage/lcov-report/src/core/utils/types.ts.html @@ -46,7 +46,7 @@
100% Lines - 32/32 + 28/28
@@ -152,17 +152,21 @@ 93 94 95 -96  +96 +97 +98 +99    11x 576x -1x 575x -48x 527x       +  +  +  97x     @@ -175,10 +179,6 @@       -1605x -  -  -  464x     @@ -191,7 +191,11 @@       -2666x +2671x +  +  +  +1605x       @@ -199,9 +203,8 @@       -  -761x -761x +766x +766x       @@ -210,7 +213,6 @@     1337x -1123x     214x @@ -222,8 +224,12 @@ 3x     +  211x   +  +  +  211x     @@ -243,95 +249,96 @@       -  105x -42x 63x +  +   
import { PlainObject } from 'core/typings';
  
 export const type: (obj: any) => string = (obj) => {
-    if (obj === undefined)
-        return obj + '';
-    if (obj === null)
-        return obj + '';
-    return Object.prototype.toString.call(obj).replace(/^\[object (.+)\]$/, '$1').toLowerCase();
-}
- 
-export function isNumber(obj: any): obj is number {
-    return typeof obj === 'number';
+  if (obj === undefined) return `${obj}`;
+  if (obj === null) return `${obj}`;
+  return Object.prototype.toString
+    .call(obj)
+    .replace(/^\[object (.+)\]$/, '$1')
+    .toLowerCase();
 };
  
+export function isNumber(obj: any): obj is number {
+  return typeof obj === 'number';
+}
+ 
 export function isString(obj: any): obj is string {
-    return typeof obj === 'string';
+  return typeof obj === 'string';
 }
  
 export function isBoolean(obj: any): obj is boolean {
-    return typeof obj === 'boolean';
+  return typeof obj === 'boolean';
 }
  
-export function isObject(obj: any): boolean {
-    return typeof obj === 'object' && !isArray(obj) && !isNull(obj);
-}
- 
-export function isFunction(obj: any): obj is Function {
-    return typeof obj === 'function';
+export function isFunction(obj: any): obj is (...args: Array<unknown>) => unknown {
+  return typeof obj === 'function';
 }
  
 export function isUndefined(obj: any): obj is undefined {
-    return obj === undefined;
+  return obj === undefined;
 }
  
 export function isNull(obj: any): obj is null {
-    return obj === null;
+  return obj === null;
 }
  
 export function isArray(obj: any): obj is Array<any> {
-    return Array.isArray(obj);
+  return Array.isArray(obj);
 }
  
+export function isObject(obj: any): boolean {
+  return typeof obj === 'object' && !isArray(obj) && !isNull(obj);
+}
  
 /**
  * Returns true if the given object is array like, false otherwise.
  * @param obj The Object
  */
 export function isArrayLike<T extends PlainObject = any>(obj: any): obj is ArrayLike<T> {
-    const length = !!obj && obj.length;
-    return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0);
+  const length = !!obj && obj.length;
+  return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0); // eslint-disable-line eqeqeq
 }
  
 /**
- * Returns true if the given object is a "plain" (e.g. { key: value }) object, false otherwise. 
+ * Returns true if the given object is a "plain" (e.g. { key: value }) object, false otherwise.
  * @param obj The Object.
  */
 export function isPlainObject<T = any>(obj: any): obj is PlainObject<T> {
-    if (!obj || !isObject(obj) || type(obj) !== 'object')
-        return false;
+  if (!obj || !isObject(obj) || type(obj) !== 'object') return false;
  
-    let key;
-    const proto = 'prototype';
-    const hasOwnProperty = Object[proto].hasOwnProperty;
-    const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor');
-    const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf');
+  let key;
+  const proto = 'prototype';
+  const { hasOwnProperty } = Object[proto];
+  const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor');
+  const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf');
  
-    if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
-        return false;
-    }
+  if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
+    return false;
+  }
  
-    for (key in obj) { /**/ }
+  /* eslint-disable no-restricted-syntax */
+  for (key in obj) {
+    /**/
+  }
+  /* eslint-enable */
  
-    return isUndefined(key) || hasOwnProperty.call(obj, key);
-};
+  return isUndefined(key) || hasOwnProperty.call(obj, key);
+}
  
 /**
  * Checks whether the given object is a HTMLElement.
  * @param obj The object which shall be checked.
  */
 export function isHTMLElement(obj: any): obj is HTMLElement {
-    const instaceOfRightHandSide = window.HTMLElement;
-    const doInstanceOf = isObject(instaceOfRightHandSide) || isFunction(instaceOfRightHandSide);
-    return !!(
-        doInstanceOf ? obj instanceof instaceOfRightHandSide : (obj && isObject(obj) && obj.nodeType === 1 && isString(obj.nodeName))
-    );
+  const instaceOfRightHandSide = window.HTMLElement;
+  const doInstanceOf = isObject(instaceOfRightHandSide) || isFunction(instaceOfRightHandSide);
+  return !!(doInstanceOf ? obj instanceof instaceOfRightHandSide : obj && isObject(obj) && obj.nodeType === 1 && isString(obj.nodeName));
 }
  
 /**
@@ -339,17 +346,19 @@ export function isHTMLElement(obj: any): obj is HTMLElement {
  * @param obj The Object.
  */
 export function isEmptyObject(obj: any): boolean {
-    for (let name in obj)
-        return false;
-    return true;
-};
+ /* eslint-disable no-restricted-syntax, guard-for-in */ + for (const name in obj) return false; + return true; + /* eslint-enable */ +} + 
diff --git a/coverage/lcov-report/src/index.html b/coverage/lcov-report/src/index.html index a644d55..c6a7c2f 100644 --- a/coverage/lcov-report/src/index.html +++ b/coverage/lcov-report/src/index.html @@ -46,7 +46,7 @@
100% Lines - 33/33 + 32/32
@@ -84,7 +84,7 @@ 100% 6/6 100% - 19/19 + 18/18 @@ -110,7 +110,7 @@ diff --git a/coverage/lcov-report/src/instances.ts.html b/coverage/lcov-report/src/instances.ts.html index ed1c492..d97d6d4 100644 --- a/coverage/lcov-report/src/instances.ts.html +++ b/coverage/lcov-report/src/instances.ts.html @@ -46,7 +46,7 @@
100% Lines - 19/19 + 18/18
@@ -107,8 +107,7 @@ 48 49 50 -51 -521x +511x 1x     @@ -135,8 +134,6 @@     1x -1x -        @@ -159,6 +156,7 @@     2x +   
const targets: Set<Element> = new Set();
 const targetInstanceMap: WeakMap<Element, any> = new WeakMap();
  
@@ -168,56 +166,55 @@ const targetInstanceMap: WeakMap<Element, any> = new WeakMap();
  * @param osInstance The OverlayScrollbars instance.
  */
 export const addInstance: (target: Element, osInstance: any) => void = (target, osInstance) => {
-    targetInstanceMap.set(target, osInstance);
-    targets.add(target);
-}
+  targetInstanceMap.set(target, osInstance);
+  targets.add(target);
+};
  
 /**
  * Removes a OverlayScrollbars instance from the given element.
  * @param target The element from which its OverlayScrollbars instance shall be removed.
  */
 export const removeInstance: (target: Element) => void = (target) => {
-    targetInstanceMap.delete(target);
-    targets.delete(target);
-}
+  targetInstanceMap.delete(target);
+  targets.delete(target);
+};
  
 /**
  * Gets the OverlayScrollbars from the given element or undefined if it doesn't have one.
  * @param target The element of which its OverlayScrollbars instance shall be get.
  */
-export const getInstance: (target: Element) => any = (target) => {
-    return targetInstanceMap.get(target);
-}
+export const getInstance: (target: Element) => any = (target) => targetInstanceMap.get(target);
  
 /**
- * Gets a Map which represents all active OverayScrollbars instances. 
+ * Gets a Map which represents all active OverayScrollbars instances.
  * The Key is the ekement and the value is the instance.
  */
 export const allInstances: () => ReadonlyMap<Element, any> = () => {
-    const validTargetInstanceMap: Map<Element, any> = new Map();
+  const validTargetInstanceMap: Map<Element, any> = new Map();
  
-    targets.forEach((target: Element) => {
-        /* istanbul ignore else */
-        if (targetInstanceMap.has(target)) {
-            validTargetInstanceMap.set(target, targetInstanceMap.get(target))
-        }
-    });
+  targets.forEach((target: Element) => {
+    /* istanbul ignore else */
+    if (targetInstanceMap.has(target)) {
+      validTargetInstanceMap.set(target, targetInstanceMap.get(target));
+    }
+  });
  
-    targets.clear();
+  targets.clear();
  
-    validTargetInstanceMap.forEach((instance: any, validTarget: Element) => {
-        targets.add(validTarget);
-    });
+  validTargetInstanceMap.forEach((instance: any, validTarget: Element) => {
+    targets.add(validTarget);
+  });
  
-    return validTargetInstanceMap;
-}
+ return validTargetInstanceMap; +}; + 
diff --git a/coverage/lcov-report/src/options.ts.html b/coverage/lcov-report/src/options.ts.html index 3dcce7e..913ee78 100644 --- a/coverage/lcov-report/src/options.ts.html +++ b/coverage/lcov-report/src/options.ts.html @@ -138,8 +138,7 @@ 79 80 81 -82 -83  +82        @@ -220,10 +219,9 @@   1x 1x -  - 
import { OptionsTemplate, OptionsTemplateValue, OptionsAndOptionsTemplateValue, OptionsAndOptionsTemplate, Func } from "core/typings";
-import { optionsTemplateTypes as oTypes, transform } from "core/options";
-import { OverlayScrollbars } from "typings";
+ 
import { OptionsTemplate, OptionsTemplateValue, OptionsAndOptionsTemplateValue, OptionsAndOptionsTemplate, Func } from 'core/typings';
+import { optionsTemplateTypes as oTypes, transform } from 'core/options';
+import { OverlayScrollbars } from 'typings';
  
 const classNameAllowedValues: OptionsTemplateValue<string | null> = [oTypes.string, oTypes.null];
 const numberAllowedValues: OptionsTemplateValue<number> = oTypes.number;
@@ -240,7 +238,7 @@ const scrollbarsAutoHideAllowedValues: OptionsTemplateValue<OverlayScrollbars
 /**
  * A object which serves as "default options object" and "options template object".
  * I combined these two into one object so that I don't have to define two separate big objects, instead I define one big object.
- * 
+ *
  * The property value is a tuple:
  * the first value is the default value
  * the second value is the template value
@@ -253,56 +251,55 @@ const scrollbarsAutoHideAllowedValues: OptionsTemplateValue<OverlayScrollbars
  * Property "b" has a default value of 250 and it can be number
  */
 const defaultOptionsWithTemplate: OptionsAndOptionsTemplate<Required<OverlayScrollbars.Options>> = {
-    className: ['os-theme-dark', classNameAllowedValues],                   //null || string
-    resize: ['none', resizeAllowedValues],                                  //none || both  || horizontal || vertical || n || b || h || v
-    sizeAutoCapable: booleanTrueTemplate,                                   //true || false
-    clipAlways: booleanTrueTemplate,                                        //true || false
-    normalizeRTL: booleanTrueTemplate,                                      //true || false
-    paddingAbsolute: booleanFalseTemplate,                                  //true || false
-    autoUpdate: [null, booleanNullAllowedValues],                           //true || false || null
-    autoUpdateInterval: [33, numberAllowedValues],                          //number
-    updateOnLoad: [['img'], stringArrayNullAllowedValues],                  //string || array || null
-    nativeScrollbarsOverlaid: {
-        showNativeScrollbars: booleanFalseTemplate,                         //true || false
-        initialize: booleanFalseTemplate                                    //true || false
-    },
-    overflowBehavior: {
-        x: ['scroll', overflowBehaviorAllowedValues],                       //visible-hidden  || visible-scroll || hidden || scroll || v-h || v-s || h || s
-        y: ['scroll', overflowBehaviorAllowedValues]                        //visible-hidden  || visible-scroll || hidden || scroll || v-h || v-s || h || s
-    },
-    scrollbars: {
-        visibility: ['auto', scrollbarsVisibilityAllowedValues],            //visible || hidden || auto || v || h || a
-        autoHide: ['never', scrollbarsAutoHideAllowedValues],               //never || scroll || leave || move || n || s || l || m
-        autoHideDelay: [800, numberAllowedValues],                          //number
-        dragScrolling: booleanTrueTemplate,                                 //true || false
-        clickScrolling: booleanFalseTemplate,                               //true || false
-        touchSupport: booleanTrueTemplate,                                  //true || false
-        snapHandle: booleanFalseTemplate                                    //true || false
-    },
-    textarea: {
-        dynWidth: booleanFalseTemplate,                                     //true || false
-        dynHeight: booleanFalseTemplate,                                    //true || false
-        inheritedAttrs: [['style', 'class'], stringArrayNullAllowedValues], //string || array || null
-    },
-    callbacks: {
-        onInitialized: callbackTemplate,                                    //null || function
-        onInitializationWithdrawn: callbackTemplate,                        //null || function
-        onDestroyed: callbackTemplate,                                      //null || function
-        onScrollStart: callbackTemplate,                                    //null || function
-        onScroll: callbackTemplate,                                         //null || function
-        onScrollStop: callbackTemplate,                                     //null || function
-        onOverflowChanged: callbackTemplate,                                //null || function
-        onOverflowAmountChanged: callbackTemplate,                          //null || function
-        onDirectionChanged: callbackTemplate,                               //null || function
-        onContentSizeChanged: callbackTemplate,                             //null || function
-        onHostSizeChanged: callbackTemplate,                                //null || function
-        onUpdated: callbackTemplate                                         //null || function
-    }
-}
+  className: ['os-theme-dark', classNameAllowedValues], // null || string
+  resize: ['none', resizeAllowedValues], // none || both  || horizontal || vertical || n || b || h || v
+  sizeAutoCapable: booleanTrueTemplate, // true || false
+  clipAlways: booleanTrueTemplate, // true || false
+  normalizeRTL: booleanTrueTemplate, // true || false
+  paddingAbsolute: booleanFalseTemplate, // true || false
+  autoUpdate: [null, booleanNullAllowedValues], // true || false || null
+  autoUpdateInterval: [33, numberAllowedValues], // number
+  updateOnLoad: [['img'], stringArrayNullAllowedValues], // string || array || null
+  nativeScrollbarsOverlaid: {
+    showNativeScrollbars: booleanFalseTemplate, // true || false
+    initialize: booleanFalseTemplate, // true || false
+  },
+  overflowBehavior: {
+    x: ['scroll', overflowBehaviorAllowedValues], // visible-hidden  || visible-scroll || hidden || scroll || v-h || v-s || h || s
+    y: ['scroll', overflowBehaviorAllowedValues], // visible-hidden  || visible-scroll || hidden || scroll || v-h || v-s || h || s
+  },
+  scrollbars: {
+    visibility: ['auto', scrollbarsVisibilityAllowedValues], // visible || hidden || auto || v || h || a
+    autoHide: ['never', scrollbarsAutoHideAllowedValues], // never || scroll || leave || move || n || s || l || m
+    autoHideDelay: [800, numberAllowedValues], // number
+    dragScrolling: booleanTrueTemplate, // true || false
+    clickScrolling: booleanFalseTemplate, // true || false
+    touchSupport: booleanTrueTemplate, // true || false
+    snapHandle: booleanFalseTemplate, // true || false
+  },
+  textarea: {
+    dynWidth: booleanFalseTemplate, // true || false
+    dynHeight: booleanFalseTemplate, // true || false
+    inheritedAttrs: [['style', 'class'], stringArrayNullAllowedValues], // string || array || null
+  },
+  callbacks: {
+    onInitialized: callbackTemplate, // null || function
+    onInitializationWithdrawn: callbackTemplate, // null || function
+    onDestroyed: callbackTemplate, // null || function
+    onScrollStart: callbackTemplate, // null || function
+    onScroll: callbackTemplate, // null || function
+    onScrollStop: callbackTemplate, // null || function
+    onOverflowChanged: callbackTemplate, // null || function
+    onOverflowAmountChanged: callbackTemplate, // null || function
+    onDirectionChanged: callbackTemplate, // null || function
+    onContentSizeChanged: callbackTemplate, // null || function
+    onHostSizeChanged: callbackTemplate, // null || function
+    onUpdated: callbackTemplate, // null || function
+  },
+};
  
 export const optionsTemplate: OptionsTemplate<Required<OverlayScrollbars.Options>> = transform(defaultOptionsWithTemplate, true);
 export const defaultOptions: OverlayScrollbars.Options = transform(defaultOptionsWithTemplate);
- 
  
@@ -310,7 +307,7 @@ export const defaultOptions: OverlayScrollbars.Options = transform(defaultOption diff --git a/coverage/lcov.info b/coverage/lcov.info index 2f07452..13e4c4a 100644 --- a/coverage/lcov.info +++ b/coverage/lcov.info @@ -3,9 +3,9 @@ SF:packages\overlayscrollbars\src\instances.ts FN:9,(anonymous_0) FN:18,(anonymous_1) FN:27,(anonymous_2) -FN:35,(anonymous_3) -FN:38,(anonymous_4) -FN:47,(anonymous_5) +FN:33,(anonymous_3) +FN:36,(anonymous_4) +FN:45,(anonymous_5) FNF:6 FNH:6 FNDA:3,(anonymous_0) @@ -23,19 +23,18 @@ DA:18,1 DA:19,4 DA:20,4 DA:27,1 -DA:28,1 -DA:35,1 +DA:33,1 +DA:34,2 DA:36,2 -DA:38,2 -DA:40,1 -DA:41,1 +DA:38,1 +DA:39,1 +DA:43,2 DA:45,2 -DA:47,2 -DA:48,1 -DA:51,2 -LF:19 -LH:19 -BRDA:40,0,0,1 +DA:46,1 +DA:49,2 +LF:18 +LH:18 +BRDA:38,0,0,1 BRF:1 BRH:1 end_of_record @@ -65,15 +64,15 @@ end_of_record TN: SF:packages\overlayscrollbars\src\core\compatibility\vendors.ts FN:4,(anonymous_0) -FN:7,(anonymous_1) -FN:23,(anonymous_2) -FN:32,(anonymous_3) -FN:40,(anonymous_4) -FN:54,(anonymous_5) -FN:66,(anonymous_6) -FN:67,(anonymous_7) -FN:86,(anonymous_8) -FN:92,(anonymous_9) +FN:5,(anonymous_1) +FN:19,(anonymous_2) +FN:29,(anonymous_3) +FN:37,(anonymous_4) +FN:51,(anonymous_5) +FN:64,(anonymous_6) +FN:65,(anonymous_7) +FN:84,(anonymous_8) +FN:91,(anonymous_9) FNF:10 FNH:10 FNDA:20,(anonymous_0) @@ -86,81 +85,79 @@ FNDA:10,(anonymous_6) FNDA:42,(anonymous_7) FNDA:5,(anonymous_8) FNDA:11,(anonymous_9) -DA:4,1 -DA:5,20 -DA:7,1 -DA:8,10 +DA:4,20 +DA:5,10 +DA:9,1 +DA:10,1 +DA:12,1 DA:13,1 -DA:14,1 -DA:16,1 -DA:17,1 +DA:19,1 +DA:20,4 +DA:22,4 DA:23,1 -DA:24,4 -DA:26,4 -DA:27,1 +DA:26,3 +DA:27,3 DA:29,3 -DA:30,3 -DA:32,3 -DA:33,9 -DA:34,9 -DA:40,33 -DA:41,9 -DA:44,3 -DA:45,3 -DA:54,1 +DA:30,9 +DA:31,9 +DA:37,33 +DA:38,9 +DA:41,3 +DA:42,3 +DA:51,1 +DA:52,11 +DA:53,11 DA:55,11 -DA:56,11 -DA:58,11 -DA:59,4 +DA:56,4 +DA:59,7 +DA:60,7 DA:61,7 DA:62,7 -DA:63,7 DA:64,7 -DA:66,7 -DA:67,10 +DA:65,10 +DA:66,42 +DA:67,42 DA:68,42 -DA:69,42 -DA:70,42 -DA:71,2 -DA:72,2 -DA:75,10 -DA:78,7 -DA:79,7 -DA:86,1 +DA:69,2 +DA:70,2 +DA:73,10 +DA:76,7 +DA:77,7 +DA:84,1 +DA:85,5 DA:87,5 -DA:89,5 -DA:90,1 -DA:92,4 +DA:88,1 +DA:91,4 +DA:92,11 DA:93,11 -DA:94,11 +DA:96,4 DA:97,4 -DA:98,4 -LF:49 -LH:49 -BRDA:26,0,0,1 -BRDA:26,0,1,3 -BRDA:58,1,0,4 -BRDA:58,1,1,7 -BRDA:63,2,0,7 -BRDA:63,2,1,5 -BRDA:70,3,0,2 -BRDA:70,3,1,40 -BRDA:87,4,0,5 -BRDA:87,4,1,4 -BRDA:89,5,0,1 -BRDA:89,5,1,4 -BRDA:93,6,0,11 -BRDA:93,6,1,8 +LF:47 +LH:47 +BRDA:22,0,0,1 +BRDA:22,0,1,3 +BRDA:55,1,0,4 +BRDA:55,1,1,7 +BRDA:61,2,0,7 +BRDA:61,2,1,5 +BRDA:68,3,0,2 +BRDA:68,3,1,40 +BRDA:85,4,0,5 +BRDA:85,4,1,4 +BRDA:87,5,0,1 +BRDA:87,5,1,4 +BRDA:92,6,0,11 +BRDA:92,6,1,8 BRF:14 BRH:14 end_of_record TN: SF:packages\overlayscrollbars\src\core\dom\attributes.ts FN:8,(anonymous_0) -FN:19,(anonymous_1) -FN:28,(anonymous_2) -FN:39,(anonymous_3) -FN:50,(anonymous_4) +FN:20,(anonymous_1) +FN:29,(anonymous_2) +FN:41,(anonymous_3) +FN:53,(anonymous_4) FNF:5 FNH:5 FNDA:7,(anonymous_0) @@ -171,39 +168,39 @@ FNDA:5,(anonymous_4) DA:8,4 DA:9,7 DA:10,5 -DA:11,2 -DA:19,4 -DA:20,1 -DA:28,4 -DA:29,3 -DA:30,2 -DA:31,1 -DA:39,4 -DA:40,3 -DA:41,2 -DA:42,1 -DA:50,4 -DA:51,5 -DA:52,3 -DA:53,2 +DA:12,2 +DA:20,4 +DA:21,1 +DA:29,4 +DA:30,3 +DA:31,2 +DA:33,1 +DA:41,4 +DA:42,3 +DA:43,2 +DA:45,1 +DA:53,4 +DA:54,5 +DA:55,3 +DA:57,2 LF:18 LH:18 BRDA:9,0,0,5 BRDA:9,0,1,2 -BRDA:29,1,0,2 -BRDA:29,1,1,1 -BRDA:40,2,0,2 -BRDA:40,2,1,1 -BRDA:51,3,0,3 -BRDA:51,3,1,2 +BRDA:30,1,0,2 +BRDA:30,1,1,1 +BRDA:42,2,0,2 +BRDA:42,2,1,1 +BRDA:54,3,0,3 +BRDA:54,3,1,2 BRF:8 BRH:8 end_of_record TN: SF:packages\overlayscrollbars\src\core\dom\classes.ts FN:10,(anonymous_0) -FN:19,(anonymous_1) -FN:35,(anonymous_2) +FN:17,(anonymous_1) +FN:34,(anonymous_2) FN:52,(anonymous_3) FNF:4 FNH:4 @@ -212,34 +209,33 @@ FNDA:11,(anonymous_1) FNDA:7,(anonymous_2) FNDA:4,(anonymous_3) DA:3,4 -DA:10,4 -DA:11,7 -DA:19,4 +DA:10,7 +DA:17,4 +DA:19,11 DA:21,11 -DA:23,11 -DA:24,9 -DA:25,9 -DA:26,11 -DA:35,4 -DA:37,7 -DA:39,7 +DA:22,9 +DA:23,9 +DA:24,11 +DA:34,4 +DA:36,7 +DA:38,7 +DA:39,5 DA:40,5 -DA:41,5 -DA:42,6 +DA:41,6 DA:52,4 DA:53,4 DA:54,2 -DA:57,2 -LF:19 -LH:19 -BRDA:23,0,0,9 -BRDA:23,0,1,2 -BRDA:24,1,0,9 -BRDA:24,1,1,1 -BRDA:39,2,0,5 -BRDA:39,2,1,2 -BRDA:40,3,0,5 -BRDA:40,3,1,1 +DA:56,2 +LF:18 +LH:18 +BRDA:21,0,0,9 +BRDA:21,0,1,2 +BRDA:22,1,0,9 +BRDA:22,1,1,1 +BRDA:38,2,0,5 +BRDA:38,2,1,2 +BRDA:39,3,0,5 +BRDA:39,3,1,1 BRDA:53,4,0,2 BRDA:53,4,1,2 BRF:10 @@ -248,21 +244,20 @@ end_of_record TN: SF:packages\overlayscrollbars\src\core\dom\create.ts FN:5,(anonymous_0) -FN:9,(anonymous_1) -FN:13,(anonymous_2) +FN:7,(anonymous_1) +FN:11,(anonymous_2) FNF:3 FNH:3 FNDA:204,(anonymous_0) FNDA:3,(anonymous_1) FNDA:9,(anonymous_2) -DA:5,4 -DA:6,204 -DA:9,4 -DA:10,3 -DA:11,3 -DA:13,9 -LF:6 -LH:6 +DA:5,204 +DA:7,4 +DA:8,3 +DA:9,3 +DA:11,9 +LF:5 +LH:5 BRF:0 BRH:0 end_of_record @@ -278,13 +273,13 @@ end_of_record TN: SF:packages\overlayscrollbars\src\core\dom\manipulation.ts FN:13,(anonymous_0) -FN:24,(anonymous_1) -FN:55,(anonymous_2) -FN:62,(anonymous_3) -FN:69,(anonymous_4) -FN:76,(anonymous_5) -FN:82,(anonymous_6) -FN:84,(anonymous_7) +FN:28,(anonymous_1) +FN:57,(anonymous_2) +FN:66,(anonymous_3) +FN:75,(anonymous_4) +FN:84,(anonymous_5) +FN:92,(anonymous_6) +FN:94,(anonymous_7) FNF:8 FNH:8 FNDA:24,(anonymous_0) @@ -296,59 +291,63 @@ FNDA:6,(anonymous_5) FNDA:23,(anonymous_6) FNDA:9,(anonymous_7) DA:13,4 -DA:14,24 -DA:15,20 +DA:18,24 DA:19,20 -DA:20,16 -DA:21,8 -DA:24,8 -DA:25,24 -DA:26,3 -DA:28,24 -DA:32,8 -DA:36,16 -DA:37,12 -DA:38,1 -DA:40,11 -DA:41,2 -DA:45,16 -DA:55,6 -DA:62,6 -DA:69,6 +DA:23,20 +DA:24,16 +DA:25,8 +DA:28,8 +DA:29,24 +DA:30,3 +DA:32,24 +DA:35,8 +DA:39,16 +DA:40,12 +DA:41,1 +DA:42,11 +DA:43,2 +DA:47,16 +DA:57,4 +DA:58,6 +DA:66,4 +DA:67,6 +DA:75,4 DA:76,6 -DA:82,4 -DA:83,23 -DA:84,9 -DA:86,21 -DA:87,20 -DA:88,20 -DA:89,15 -LF:28 -LH:28 -BRDA:14,0,0,20 -BRDA:14,0,1,4 -BRDA:19,1,0,16 -BRDA:19,1,1,4 -BRDA:20,2,0,8 -BRDA:20,2,1,8 -BRDA:25,3,0,3 -BRDA:25,3,1,21 -BRDA:36,4,0,12 -BRDA:36,4,1,4 -BRDA:37,5,0,1 -BRDA:37,5,1,11 -BRDA:40,6,0,2 -BRDA:40,6,1,9 -BRDA:62,7,0,6 -BRDA:62,7,1,5 -BRDA:76,8,0,6 -BRDA:76,8,1,5 -BRDA:83,9,0,2 -BRDA:83,9,1,21 -BRDA:86,10,0,20 -BRDA:86,10,1,1 -BRDA:88,11,0,15 -BRDA:88,11,1,5 +DA:84,4 +DA:85,6 +DA:92,4 +DA:93,23 +DA:94,9 +DA:95,21 +DA:96,20 +DA:97,20 +DA:98,15 +LF:32 +LH:32 +BRDA:18,0,0,20 +BRDA:18,0,1,4 +BRDA:23,1,0,16 +BRDA:23,1,1,4 +BRDA:24,2,0,8 +BRDA:24,2,1,8 +BRDA:29,3,0,3 +BRDA:29,3,1,21 +BRDA:39,4,0,12 +BRDA:39,4,1,4 +BRDA:40,5,0,1 +BRDA:40,5,1,11 +BRDA:42,6,0,2 +BRDA:42,6,1,9 +BRDA:67,7,0,6 +BRDA:67,7,1,5 +BRDA:85,8,0,6 +BRDA:85,8,1,5 +BRDA:93,9,0,2 +BRDA:93,9,1,21 +BRDA:95,10,0,20 +BRDA:95,10,1,1 +BRDA:97,11,0,15 +BRDA:97,11,1,5 BRF:24 BRH:24 end_of_record @@ -364,8 +363,7 @@ DA:1,3 DA:2,0 DA:3,0 DA:9,3 -DA:10,0 -LF:5 +LF:4 LH:2 BRF:0 BRH:0 @@ -373,64 +371,65 @@ end_of_record TN: SF:packages\overlayscrollbars\src\core\dom\style.ts FN:21,(anonymous_0) -FN:29,(anonymous_1) -FN:35,style -FN:55,(anonymous_3) -FN:59,(anonymous_4) -FNF:5 +FN:24,(anonymous_1) +FN:34,style +FN:46,(anonymous_3) +FN:50,(anonymous_4) +FN:54,(anonymous_5) +FNF:6 FNH:0 FNDA:0,(anonymous_0) FNDA:0,(anonymous_1) FNDA:0,style FNDA:0,(anonymous_3) FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) DA:5,3 DA:21,3 DA:22,0 -DA:23,0 -DA:24,0 -DA:29,3 -DA:30,0 -DA:36,0 +DA:24,3 +DA:25,0 +DA:26,0 +DA:27,0 +DA:35,0 +DA:37,0 DA:38,0 DA:39,0 -DA:40,0 -DA:43,0 +DA:42,0 +DA:44,0 DA:46,0 -DA:50,0 +DA:50,3 DA:51,0 -DA:55,3 -DA:56,0 -DA:59,3 -DA:60,0 -LF:19 +DA:54,3 +DA:55,0 +LF:18 LH:5 -BRDA:23,0,0,0 -BRDA:23,0,1,0 -BRDA:30,1,0,0 -BRDA:30,1,1,0 -BRDA:30,2,0,0 -BRDA:30,2,1,0 -BRDA:38,3,0,0 -BRDA:38,3,1,0 -BRDA:39,4,0,0 -BRDA:39,4,1,0 -BRDA:43,5,0,0 -BRDA:43,5,1,0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRDA:22,1,0,0 +BRDA:22,1,1,0 +BRDA:26,2,0,0 +BRDA:26,2,1,0 +BRDA:37,3,0,0 +BRDA:37,3,1,0 +BRDA:38,4,0,0 +BRDA:38,4,1,0 +BRDA:42,5,0,0 +BRDA:42,5,1,0 BRF:12 BRH:0 end_of_record TN: SF:packages\overlayscrollbars\src\core\dom\traversal.ts FN:3,(anonymous_0) -FN:7,(anonymous_1) -FN:10,(anonymous_2) -FN:17,(anonymous_3) -FN:21,(anonymous_4) -FN:33,(anonymous_5) -FN:36,(anonymous_6) +FN:5,(anonymous_1) +FN:8,(anonymous_2) +FN:15,(anonymous_3) +FN:17,(anonymous_4) +FN:32,(anonymous_5) +FN:35,(anonymous_6) FN:48,(anonymous_7) -FN:52,(anonymous_8) +FN:50,(anonymous_8) FNF:9 FNH:9 FNDA:4,(anonymous_0) @@ -443,61 +442,58 @@ FNDA:6,(anonymous_6) FNDA:38,(anonymous_7) FNDA:14,(anonymous_8) DA:3,4 -DA:4,4 -DA:7,4 +DA:5,4 +DA:6,6 DA:8,6 -DA:10,6 -DA:11,18 -DA:14,6 +DA:9,18 +DA:12,6 +DA:15,19 DA:17,4 -DA:18,19 -DA:21,4 -DA:22,31 -DA:23,22 -DA:24,2 -DA:25,20 -DA:26,2 -DA:27,18 -DA:28,6 -DA:30,21 -DA:33,4 -DA:34,3 -DA:36,3 -DA:37,6 -DA:38,3 -DA:39,1 -DA:42,3 +DA:18,31 +DA:19,22 +DA:20,2 +DA:22,20 +DA:23,2 +DA:25,18 +DA:26,6 +DA:29,21 +DA:32,4 +DA:33,3 +DA:35,3 +DA:36,6 +DA:37,3 +DA:38,1 +DA:41,3 DA:45,3 -DA:48,4 -DA:49,38 -DA:52,14 -LF:29 -LH:29 -BRDA:4,0,0,4 -BRDA:4,0,1,4 -BRDA:4,0,2,4 -BRDA:10,1,0,6 -BRDA:10,1,1,5 -BRDA:18,2,0,19 -BRDA:18,2,1,18 -BRDA:22,3,0,22 -BRDA:22,3,1,9 -BRDA:23,4,0,2 -BRDA:23,4,1,20 -BRDA:25,5,0,2 -BRDA:25,5,1,18 -BRDA:27,6,0,6 -BRDA:27,6,1,12 -BRDA:36,7,0,3 -BRDA:36,7,1,2 -BRDA:37,8,0,3 -BRDA:37,8,1,3 -BRDA:38,9,0,1 -BRDA:38,9,1,2 -BRDA:49,10,0,37 -BRDA:49,10,1,1 -BRDA:52,11,0,11 -BRDA:52,11,1,3 +DA:48,38 +DA:50,14 +LF:26 +LH:26 +BRDA:3,0,0,4 +BRDA:3,0,1,4 +BRDA:3,0,2,4 +BRDA:8,1,0,6 +BRDA:8,1,1,5 +BRDA:15,2,0,19 +BRDA:15,2,1,18 +BRDA:18,3,0,22 +BRDA:18,3,1,9 +BRDA:19,4,0,2 +BRDA:19,4,1,20 +BRDA:22,5,0,2 +BRDA:22,5,1,18 +BRDA:25,6,0,6 +BRDA:25,6,1,12 +BRDA:35,7,0,3 +BRDA:35,7,1,2 +BRDA:36,8,0,3 +BRDA:36,8,1,3 +BRDA:37,9,0,1 +BRDA:37,9,1,2 +BRDA:48,10,0,37 +BRDA:48,10,1,1 +BRDA:50,11,0,11 +BRDA:50,11,1,3 BRF:25 BRH:25 end_of_record @@ -512,36 +508,36 @@ BRH:0 end_of_record TN: SF:packages\overlayscrollbars\src\core\options\transformation.ts -FN:12,transform -FN:15,(anonymous_1) +FN:15,transform +FN:21,(anonymous_1) FNF:2 FNH:2 FNDA:16,transform FNDA:102,(anonymous_1) -DA:13,16 -DA:15,16 -DA:16,102 -DA:19,102 -DA:20,90 -DA:25,16 +DA:19,16 +DA:21,16 +DA:22,102 +DA:25,102 +DA:26,90 +DA:32,16 LF:6 LH:6 -BRDA:19,0,0,90 -BRDA:20,1,0,45 -BRDA:20,1,1,45 +BRDA:25,0,0,90 +BRDA:26,1,0,45 +BRDA:26,1,1,45 BRF:3 BRH:3 end_of_record TN: SF:packages\overlayscrollbars\src\core\options\validation.ts -FN:24,(anonymous_0) -FN:47,(anonymous_1) -FN:50,(anonymous_2) -FN:52,(anonymous_3) -FN:65,(anonymous_4) -FN:78,(anonymous_5) -FN:84,(anonymous_6) -FN:140,(anonymous_7) +FN:25,(anonymous_0) +FN:50,(anonymous_1) +FN:59,(anonymous_2) +FN:61,(anonymous_3) +FN:74,(anonymous_4) +FN:88,(anonymous_5) +FN:94,(anonymous_6) +FN:150,(anonymous_7) FNF:8 FNH:8 FNDA:21,(anonymous_0) @@ -552,184 +548,180 @@ FNDA:66,(anonymous_4) FNDA:417,(anonymous_5) FNDA:121,(anonymous_6) FNDA:32,(anonymous_7) -DA:5,3 -DA:10,3 -DA:16,3 -DA:25,21 +DA:13,3 +DA:18,3 +DA:24,3 DA:26,21 -DA:47,3 -DA:48,65 -DA:49,65 -DA:50,372 -DA:52,65 -DA:53,372 -DA:54,372 -DA:55,372 -DA:56,372 -DA:57,372 -DA:60,372 -DA:61,33 -DA:62,33 -DA:63,33 -DA:65,33 -DA:66,66 -DA:67,33 -DA:71,339 -DA:72,336 -DA:73,336 -DA:74,336 -DA:75,336 -DA:76,336 -DA:78,336 -DA:80,417 -DA:81,417 -DA:83,64 -DA:84,121 -DA:87,64 -DA:90,353 -DA:94,417 -DA:97,417 -DA:101,336 -DA:102,310 -DA:103,310 -DA:104,256 -DA:107,26 -DA:108,2 -DA:113,336 -DA:117,65 -DA:140,3 -DA:151,32 +DA:27,21 +DA:50,3 +DA:57,65 +DA:58,65 +DA:59,372 +DA:61,65 +DA:62,372 +DA:63,372 +DA:64,372 +DA:65,372 +DA:66,372 +DA:69,372 +DA:70,33 +DA:71,33 +DA:72,33 +DA:74,33 +DA:75,66 +DA:76,33 +DA:79,339 +DA:80,336 +DA:81,336 +DA:82,336 +DA:83,336 +DA:84,336 +DA:88,336 +DA:90,417 +DA:91,417 +DA:93,64 +DA:94,121 +DA:97,64 +DA:99,353 +DA:103,417 +DA:106,417 +DA:109,336 +DA:110,310 +DA:111,310 +DA:112,256 +DA:114,26 +DA:115,2 +DA:123,336 +DA:127,65 +DA:150,3 +DA:165,32 LF:47 LH:47 -BRDA:53,0,0,295 -BRDA:53,0,1,77 -BRDA:57,1,0,110 -BRDA:57,1,1,262 -BRDA:60,2,0,33 -BRDA:60,2,1,339 -BRDA:60,3,0,372 -BRDA:60,3,1,36 -BRDA:66,4,0,33 -BRDA:66,4,1,33 -BRDA:71,5,0,336 -BRDA:71,5,1,3 -BRDA:76,6,0,227 -BRDA:76,6,1,109 -BRDA:81,7,0,64 -BRDA:81,7,1,353 -BRDA:81,8,0,417 -BRDA:81,8,1,64 -BRDA:94,9,0,64 -BRDA:94,9,1,353 -BRDA:101,10,0,310 -BRDA:101,10,1,26 -BRDA:102,11,0,310 -BRDA:102,11,1,277 -BRDA:103,12,0,256 -BRDA:103,12,1,54 -BRDA:103,13,0,62 -BRDA:103,13,1,248 -BRDA:107,14,0,2 -BRDA:107,14,1,24 -BRDA:110,15,0,1 -BRDA:110,15,1,1 -BRDA:151,16,0,32 -BRDA:151,16,1,20 -BRDA:151,17,0,32 -BRDA:151,17,1,28 +BRDA:62,0,0,295 +BRDA:62,0,1,77 +BRDA:66,1,0,110 +BRDA:66,1,1,262 +BRDA:69,2,0,33 +BRDA:69,2,1,339 +BRDA:69,3,0,372 +BRDA:69,3,1,36 +BRDA:75,4,0,33 +BRDA:75,4,1,33 +BRDA:79,5,0,336 +BRDA:79,5,1,3 +BRDA:84,6,0,227 +BRDA:84,6,1,109 +BRDA:91,7,0,64 +BRDA:91,7,1,353 +BRDA:91,8,0,417 +BRDA:91,8,1,64 +BRDA:103,9,0,64 +BRDA:103,9,1,353 +BRDA:109,10,0,310 +BRDA:109,10,1,26 +BRDA:110,11,0,310 +BRDA:110,11,1,277 +BRDA:111,12,0,256 +BRDA:111,12,1,54 +BRDA:111,13,0,62 +BRDA:111,13,1,248 +BRDA:114,14,0,2 +BRDA:114,14,1,24 +BRDA:119,15,0,1 +BRDA:119,15,1,1 +BRDA:165,16,0,32 +BRDA:165,16,1,20 +BRDA:165,17,0,32 +BRDA:165,17,1,28 BRF:36 BRH:36 end_of_record TN: SF:packages\overlayscrollbars\src\core\utils\arrays.ts -FN:18,each -FN:42,(anonymous_1) -FNF:2 -FNH:2 -FNDA:694,each -FNDA:418,(anonymous_1) -DA:19,694 -DA:21,694 -DA:22,688 -DA:23,2211 -DA:24,320 -DA:27,6 -DA:28,5 -DA:29,13 -DA:30,1 -DA:33,694 -DA:42,9 -DA:43,418 -LF:12 -LH:12 -BRDA:21,0,0,688 -BRDA:21,0,1,6 -BRDA:23,1,0,320 -BRDA:23,1,1,1891 -BRDA:27,2,0,5 -BRDA:27,2,1,1 -BRDA:29,3,0,1 -BRDA:29,3,1,12 -BRF:8 -BRH:8 +FN:29,each +FN:40,(anonymous_1) +FN:51,(anonymous_2) +FNF:3 +FNH:3 +FNDA:699,each +FNDA:13,(anonymous_1) +FNDA:418,(anonymous_2) +DA:33,699 +DA:34,693 +DA:35,2224 +DA:36,321 +DA:39,6 +DA:40,13 +DA:42,699 +DA:51,418 +LF:8 +LH:8 +BRDA:33,0,0,693 +BRDA:33,0,1,6 +BRDA:35,1,0,321 +BRDA:35,1,1,1903 +BRDA:39,2,0,5 +BRDA:39,2,1,1 +BRF:6 +BRH:6 end_of_record TN: SF:packages\overlayscrollbars\src\core\utils\extend.ts FN:10,extend -FN:18,(anonymous_1) +FN:27,(anonymous_1) FNF:2 FNH:2 FNDA:180,extend FNDA:1080,(anonymous_1) -DA:11,180 -DA:14,180 -DA:15,3 -DA:18,180 -DA:20,1080 -DA:23,217 -DA:24,632 -DA:28,632 -DA:29,1 -DA:32,631 -DA:35,631 -DA:36,126 -DA:37,126 -DA:40,126 -DA:41,33 -DA:42,93 -DA:43,76 -DA:47,126 -DA:50,505 -DA:51,504 -DA:58,180 +DA:20,180 +DA:23,180 +DA:24,3 +DA:27,180 +DA:29,1080 +DA:31,217 +DA:32,632 +DA:36,632 +DA:37,1 +DA:40,631 +DA:43,631 +DA:44,126 +DA:45,126 +DA:48,126 +DA:49,33 +DA:50,93 +DA:51,76 +DA:55,126 +DA:58,505 +DA:59,504 +DA:66,180 LF:21 LH:21 -BRDA:14,0,0,3 -BRDA:14,0,1,177 -BRDA:14,1,0,180 -BRDA:14,1,1,177 -BRDA:14,1,2,4 -BRDA:20,2,0,217 -BRDA:20,2,1,863 -BRDA:28,3,0,1 -BRDA:28,3,1,631 -BRDA:28,4,0,632 -BRDA:28,4,1,632 -BRDA:35,5,0,126 -BRDA:35,5,1,505 -BRDA:35,6,0,631 -BRDA:35,6,1,531 -BRDA:35,6,2,439 -BRDA:40,7,0,33 -BRDA:40,7,1,93 -BRDA:40,8,0,126 -BRDA:40,8,1,34 -BRDA:42,9,0,76 -BRDA:42,9,1,17 -BRDA:42,10,0,93 -BRDA:42,10,1,92 -BRDA:50,11,0,504 -BRDA:50,11,1,1 +BRDA:23,0,0,3 +BRDA:23,0,1,177 +BRDA:23,1,0,180 +BRDA:23,1,1,177 +BRDA:23,1,2,4 +BRDA:29,2,0,217 +BRDA:29,2,1,863 +BRDA:36,3,0,1 +BRDA:36,3,1,631 +BRDA:36,4,0,632 +BRDA:36,4,1,632 +BRDA:43,5,0,126 +BRDA:43,5,1,505 +BRDA:43,6,0,631 +BRDA:43,6,1,531 +BRDA:43,6,2,439 +BRDA:48,7,0,33 +BRDA:48,7,1,93 +BRDA:48,8,0,126 +BRDA:48,8,1,34 +BRDA:50,9,0,76 +BRDA:50,9,1,17 +BRDA:50,10,0,93 +BRDA:50,10,1,92 +BRDA:58,11,0,504 +BRDA:58,11,1,1 BRF:26 BRH:26 end_of_record @@ -745,77 +737,73 @@ end_of_record TN: SF:packages\overlayscrollbars\src\core\utils\types.ts FN:3,(anonymous_0) -FN:11,isNumber -FN:15,isString -FN:19,isBoolean -FN:23,isObject -FN:27,isFunction -FN:31,isUndefined -FN:35,isNull -FN:39,isArray +FN:12,isNumber +FN:16,isString +FN:20,isBoolean +FN:24,isFunction +FN:28,isUndefined +FN:32,isNull +FN:36,isArray +FN:40,isObject FN:48,isArrayLike FN:57,isPlainObject -FN:80,isHTMLElement -FN:92,isEmptyObject +FN:83,isHTMLElement +FN:93,isEmptyObject FNF:13 FNH:13 FNDA:576,(anonymous_0) FNDA:97,isNumber FNDA:114,isString FNDA:28,isBoolean -FNDA:1605,isObject FNDA:464,isFunction FNDA:611,isUndefined FNDA:500,isNull -FNDA:2666,isArray -FNDA:761,isArrayLike +FNDA:2671,isArray +FNDA:1605,isObject +FNDA:766,isArrayLike FNDA:1337,isPlainObject FNDA:358,isHTMLElement FNDA:105,isEmptyObject DA:3,11 DA:4,576 -DA:5,1 -DA:6,575 -DA:7,48 -DA:8,527 -DA:12,97 -DA:16,114 -DA:20,28 -DA:24,1605 -DA:28,464 -DA:32,611 -DA:36,500 -DA:40,2666 -DA:49,761 -DA:50,761 +DA:5,575 +DA:6,527 +DA:13,97 +DA:17,114 +DA:21,28 +DA:25,464 +DA:29,611 +DA:33,500 +DA:37,2671 +DA:41,1605 +DA:49,766 +DA:50,766 DA:58,1337 -DA:59,1123 +DA:61,214 DA:62,214 DA:63,214 DA:64,214 -DA:65,214 -DA:67,214 -DA:68,3 +DA:66,214 +DA:67,3 DA:71,211 -DA:73,211 -DA:81,358 -DA:82,358 -DA:83,358 -DA:93,105 -DA:94,42 -DA:95,63 -LF:32 -LH:32 +DA:76,211 +DA:84,358 +DA:85,358 +DA:86,358 +DA:95,105 +DA:96,63 +LF:28 +LH:28 BRDA:4,0,0,1 BRDA:4,0,1,575 -BRDA:6,1,0,48 -BRDA:6,1,1,527 -BRDA:24,2,0,1605 -BRDA:24,2,1,448 -BRDA:24,2,2,295 -BRDA:49,3,0,761 -BRDA:49,3,1,754 -BRDA:50,4,0,761 +BRDA:5,1,0,48 +BRDA:5,1,1,527 +BRDA:41,2,0,1605 +BRDA:41,2,1,448 +BRDA:41,2,2,295 +BRDA:49,3,0,766 +BRDA:49,3,1,759 +BRDA:50,4,0,766 BRDA:50,4,1,74 BRDA:50,4,2,69 BRDA:50,4,3,19 @@ -825,24 +813,24 @@ BRDA:58,5,1,214 BRDA:58,6,0,1337 BRDA:58,6,1,1181 BRDA:58,6,2,224 -BRDA:65,7,0,214 -BRDA:65,7,1,213 -BRDA:65,7,2,213 -BRDA:67,8,0,3 -BRDA:67,8,1,211 -BRDA:67,9,0,214 -BRDA:67,9,1,213 -BRDA:67,9,2,213 -BRDA:73,10,0,211 -BRDA:73,10,1,205 -BRDA:82,11,0,358 -BRDA:82,11,1,358 -BRDA:84,12,0,327 -BRDA:84,12,1,31 -BRDA:84,13,0,31 -BRDA:84,13,1,26 -BRDA:84,13,2,15 -BRDA:84,13,3,4 +BRDA:64,7,0,214 +BRDA:64,7,1,213 +BRDA:64,7,2,213 +BRDA:66,8,0,3 +BRDA:66,8,1,211 +BRDA:66,9,0,214 +BRDA:66,9,1,213 +BRDA:66,9,2,213 +BRDA:76,10,0,211 +BRDA:76,10,1,205 +BRDA:85,11,0,358 +BRDA:85,11,1,358 +BRDA:86,12,0,327 +BRDA:86,12,1,31 +BRDA:86,13,0,31 +BRDA:86,13,1,26 +BRDA:86,13,2,15 +BRDA:86,13,3,4 BRF:37 BRH:37 end_of_record diff --git a/jest.config.js b/jest.config.js index 257f6ab..1b482e0 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,24 +1,14 @@ +const resolve = require('./resolve.config'); + // For a detailed explanation regarding each configuration property, visit: // https://jestjs.io/docs/en/configuration.html module.exports = { - clearMocks: true, - collectCoverage: true, - coverageDirectory: "coverage", - moduleDirectories: [ - "src", - "node_modules", - ], - moduleFileExtensions: [ - "js", - "json", - "jsx", - "ts", - "tsx", - "node" - ], - testPathIgnorePatterns: [ - "\\\\node_modules\\\\", "./dist" - ], - verbose: true, -}; \ No newline at end of file + clearMocks: true, + collectCoverage: true, + coverageDirectory: 'coverage', + moduleDirectories: resolve.directories, + moduleFileExtensions: resolve.extensions.map((ext) => ext.replace(/\./, '')), + testPathIgnorePatterns: ['\\\\node_modules\\\\', 'src/', 'dist/'], + verbose: true, +}; diff --git a/package-lock.json b/package-lock.json index bcbcc6f..8989696 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8380 +1,10397 @@ { - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/compat-data": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.5.tgz", - "integrity": "sha512-mPVoWNzIpYJHbWje0if7Ck36bpbtTvIxOi9+6WSK9wjGEXearAqlwBoTQvVjsAY2VIwgcs8V940geY3okzRCEw==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "semver": "^5.5.0" - } - }, - "@babel/core": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz", - "integrity": "sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.5", - "@babel/helper-module-transforms": "^7.10.5", - "@babel/helpers": "^7.10.4", - "@babel/parser": "^7.10.5", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.5", - "@babel/types": "^7.10.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.5.tgz", - "integrity": "sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig==", - "dev": true, - "requires": { - "@babel/types": "^7.10.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz", - "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.10.4", - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", - "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.10.5", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", - "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.0" - } - }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz", - "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==", - "dev": true, - "requires": { - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz", - "integrity": "sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz", - "integrity": "sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", - "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz", - "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", - "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helpers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", - "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/node": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.10.5.tgz", - "integrity": "sha512-suosS7zZ2roj+fYVCnDuVezUbRc0sdoyF0Gj/1FzWxD4ebbGiBGtL5qyqHH4NO34B5m4vWWYWgyNhSsrqS8vwA==", - "dev": true, - "requires": { - "@babel/register": "^7.10.5", - "commander": "^4.0.1", - "core-js": "^3.2.1", - "lodash": "^4.17.19", - "node-environment-flags": "^1.0.5", - "regenerator-runtime": "^0.13.4", - "resolve": "^1.13.1", - "v8flags": "^3.1.1" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - } - } - }, - "@babel/parser": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz", - "integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz", - "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", - "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz", - "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", - "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", - "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz", - "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", - "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.4" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", - "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz", - "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz", - "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", - "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", - "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz", - "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz", - "integrity": "sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", - "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", - "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", - "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.5.tgz", - "integrity": "sha512-6Ycw3hjpQti0qssQcA6AMSFDHeNJ++R6dIMnpRqUjFeBBTmTDPa8zgF90OVfTvAo11mXZTlVUViY1g8ffrURLg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", - "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", - "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", - "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", - "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", - "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", - "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", - "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", - "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", - "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz", - "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz", - "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", - "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz", - "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", - "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", - "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", - "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", - "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz", - "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz", - "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", - "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz", - "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", - "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz", - "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", - "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-regex": "^7.10.4" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz", - "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", - "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.10.5.tgz", - "integrity": "sha512-YCyYsFrrRMZ3qR7wRwtSSJovPG5vGyG4ZdcSAivGwTfoasMp3VOB/AKhohu3dFtmB4cCDcsndCSxGtrdliCsZQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-typescript": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz", - "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", - "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/preset-env": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.4.tgz", - "integrity": "sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.10.4", - "@babel/helper-compilation-targets": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-proposal-async-generator-functions": "^7.10.4", - "@babel/plugin-proposal-class-properties": "^7.10.4", - "@babel/plugin-proposal-dynamic-import": "^7.10.4", - "@babel/plugin-proposal-json-strings": "^7.10.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", - "@babel/plugin-proposal-numeric-separator": "^7.10.4", - "@babel/plugin-proposal-object-rest-spread": "^7.10.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.10.4", - "@babel/plugin-proposal-optional-chaining": "^7.10.4", - "@babel/plugin-proposal-private-methods": "^7.10.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.10.4", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.10.4", - "@babel/plugin-transform-arrow-functions": "^7.10.4", - "@babel/plugin-transform-async-to-generator": "^7.10.4", - "@babel/plugin-transform-block-scoped-functions": "^7.10.4", - "@babel/plugin-transform-block-scoping": "^7.10.4", - "@babel/plugin-transform-classes": "^7.10.4", - "@babel/plugin-transform-computed-properties": "^7.10.4", - "@babel/plugin-transform-destructuring": "^7.10.4", - "@babel/plugin-transform-dotall-regex": "^7.10.4", - "@babel/plugin-transform-duplicate-keys": "^7.10.4", - "@babel/plugin-transform-exponentiation-operator": "^7.10.4", - "@babel/plugin-transform-for-of": "^7.10.4", - "@babel/plugin-transform-function-name": "^7.10.4", - "@babel/plugin-transform-literals": "^7.10.4", - "@babel/plugin-transform-member-expression-literals": "^7.10.4", - "@babel/plugin-transform-modules-amd": "^7.10.4", - "@babel/plugin-transform-modules-commonjs": "^7.10.4", - "@babel/plugin-transform-modules-systemjs": "^7.10.4", - "@babel/plugin-transform-modules-umd": "^7.10.4", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4", - "@babel/plugin-transform-new-target": "^7.10.4", - "@babel/plugin-transform-object-super": "^7.10.4", - "@babel/plugin-transform-parameters": "^7.10.4", - "@babel/plugin-transform-property-literals": "^7.10.4", - "@babel/plugin-transform-regenerator": "^7.10.4", - "@babel/plugin-transform-reserved-words": "^7.10.4", - "@babel/plugin-transform-shorthand-properties": "^7.10.4", - "@babel/plugin-transform-spread": "^7.10.4", - "@babel/plugin-transform-sticky-regex": "^7.10.4", - "@babel/plugin-transform-template-literals": "^7.10.4", - "@babel/plugin-transform-typeof-symbol": "^7.10.4", - "@babel/plugin-transform-unicode-escapes": "^7.10.4", - "@babel/plugin-transform-unicode-regex": "^7.10.4", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.10.4", - "browserslist": "^4.12.0", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-typescript": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.10.4.tgz", - "integrity": "sha512-SdYnvGPv+bLlwkF2VkJnaX/ni1sMNetcGI1+nThF1gyv6Ph8Qucc4ZZAjM5yZcE/AKRXIOTZz7eSRDWOEjPyRQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-typescript": "^7.10.4" - } - }, - "@babel/register": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.10.5.tgz", - "integrity": "sha512-eYHdLv43nyvmPn9bfNfrcC4+iYNwdQ8Pxk1MFJuU/U5LpSYl/PH4dFMazCYZDFVi8ueG3shvO+AQfLrxpYulQw==", - "dev": true, - "requires": { - "find-cache-dir": "^2.0.0", - "lodash": "^4.17.19", - "make-dir": "^2.1.0", - "pirates": "^4.0.0", - "source-map-support": "^0.5.16" - }, - "dependencies": { - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - } - } - }, - "@babel/runtime": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz", - "integrity": "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz", - "integrity": "sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.5", - "@babel/types": "^7.10.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz", - "integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - } - }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true - }, - "@jest/console": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.1.0.tgz", - "integrity": "sha512-+0lpTHMd/8pJp+Nd4lyip+/Iyf2dZJvcCqrlkeZQoQid+JlThA4M9vxHtheyrQ99jJTMQam+es4BcvZ5W5cC3A==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "chalk": "^4.0.0", - "jest-message-util": "^26.1.0", - "jest-util": "^26.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.1.0.tgz", - "integrity": "sha512-zyizYmDJOOVke4OO/De//aiv8b07OwZzL2cfsvWF3q9YssfpcKfcnZAwDY8f+A76xXSMMYe8i/f/LPocLlByfw==", - "dev": true, - "requires": { - "@jest/console": "^26.1.0", - "@jest/reporters": "^26.1.0", - "@jest/test-result": "^26.1.0", - "@jest/transform": "^26.1.0", - "@jest/types": "^26.1.0", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.1.0", - "jest-config": "^26.1.0", - "jest-haste-map": "^26.1.0", - "jest-message-util": "^26.1.0", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.1.0", - "jest-resolve-dependencies": "^26.1.0", - "jest-runner": "^26.1.0", - "jest-runtime": "^26.1.0", - "jest-snapshot": "^26.1.0", - "jest-util": "^26.1.0", - "jest-validate": "^26.1.0", - "jest-watcher": "^26.1.0", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.1.0.tgz", - "integrity": "sha512-86+DNcGongbX7ai/KE/S3/NcUVZfrwvFzOOWX/W+OOTvTds7j07LtC+MgGydH5c8Ri3uIrvdmVgd1xFD5zt/xA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^26.1.0", - "@jest/types": "^26.1.0", - "jest-mock": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/fake-timers": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.1.0.tgz", - "integrity": "sha512-Y5F3kBVWxhau3TJ825iuWy++BAuQzK/xEa+wD9vDH3RytW9f2DbMVodfUQC54rZDX3POqdxCgcKdgcOL0rYUpA==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "@sinonjs/fake-timers": "^6.0.1", - "jest-message-util": "^26.1.0", - "jest-mock": "^26.1.0", - "jest-util": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/globals": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.1.0.tgz", - "integrity": "sha512-MKiHPNaT+ZoG85oMaYUmGHEqu98y3WO2yeIDJrs2sJqHhYOy3Z6F7F/luzFomRQ8SQ1wEkmahFAz2291Iv8EAw==", - "dev": true, - "requires": { - "@jest/environment": "^26.1.0", - "@jest/types": "^26.1.0", - "expect": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/reporters": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.1.0.tgz", - "integrity": "sha512-SVAysur9FOIojJbF4wLP0TybmqwDkdnFxHSPzHMMIYyBtldCW9gG+Q5xWjpMFyErDiwlRuPyMSJSU64A67Pazg==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.1.0", - "@jest/test-result": "^26.1.0", - "@jest/transform": "^26.1.0", - "@jest/types": "^26.1.0", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.1.0", - "jest-resolve": "^26.1.0", - "jest-util": "^26.1.0", - "jest-worker": "^26.1.0", - "node-notifier": "^7.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^4.1.3" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/source-map": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.1.0.tgz", - "integrity": "sha512-XYRPYx4eEVX15cMT9mstnO7hkHP3krNtKfxUYd8L7gbtia8JvZZ6bMzSwa6IQJENbudTwKMw5R1BePRD+bkEmA==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@jest/test-result": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.1.0.tgz", - "integrity": "sha512-Xz44mhXph93EYMA8aYDz+75mFbarTV/d/x0yMdI3tfSRs/vh4CqSxgzVmCps1fPkHDCtn0tU8IH9iCKgGeGpfw==", - "dev": true, - "requires": { - "@jest/console": "^26.1.0", - "@jest/types": "^26.1.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/test-sequencer": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.1.0.tgz", - "integrity": "sha512-Z/hcK+rTq56E6sBwMoQhSRDVjqrGtj1y14e2bIgcowARaIE1SgOanwx6gvY4Q9gTKMoZQXbXvptji+q5GYxa6Q==", - "dev": true, - "requires": { - "@jest/test-result": "^26.1.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.1.0", - "jest-runner": "^26.1.0", - "jest-runtime": "^26.1.0" - } - }, - "@jest/transform": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.1.0.tgz", - "integrity": "sha512-ICPm6sUXmZJieq45ix28k0s+d/z2E8CHDsq+WwtWI6kW8m7I8kPqarSEcUN86entHQ570ZBRci5OWaKL0wlAWw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.1.0", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.1.0", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.1.0", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.5.tgz", + "integrity": "sha512-mPVoWNzIpYJHbWje0if7Ck36bpbtTvIxOi9+6WSK9wjGEXearAqlwBoTQvVjsAY2VIwgcs8V940geY3okzRCEw==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "semver": "^5.5.0" + } + }, + "@babel/core": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz", + "integrity": "sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.5", + "@babel/types": "^7.10.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.5.tgz", + "integrity": "sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig==", + "dev": true, + "requires": { + "@babel/types": "^7.10.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz", + "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.4", + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", + "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.10.5", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", + "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", + "regexpu-core": "^4.7.0" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz", + "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==", + "dev": true, + "requires": { + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz", + "integrity": "sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz", + "integrity": "sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", + "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz", + "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", + "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", + "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", + "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/node": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.10.5.tgz", + "integrity": "sha512-suosS7zZ2roj+fYVCnDuVezUbRc0sdoyF0Gj/1FzWxD4ebbGiBGtL5qyqHH4NO34B5m4vWWYWgyNhSsrqS8vwA==", + "dev": true, + "requires": { + "@babel/register": "^7.10.5", + "commander": "^4.0.1", + "core-js": "^3.2.1", + "lodash": "^4.17.19", + "node-environment-flags": "^1.0.5", + "regenerator-runtime": "^0.13.4", + "resolve": "^1.13.1", + "v8flags": "^3.1.1" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + } + } + }, + "@babel/parser": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz", + "integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz", + "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", + "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz", + "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", + "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", + "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz", + "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", + "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", + "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz", + "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz", + "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", + "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", + "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz", + "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz", + "integrity": "sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", + "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", + "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", + "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.5.tgz", + "integrity": "sha512-6Ycw3hjpQti0qssQcA6AMSFDHeNJ++R6dIMnpRqUjFeBBTmTDPa8zgF90OVfTvAo11mXZTlVUViY1g8ffrURLg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", + "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", + "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", + "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", + "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", + "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", + "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", + "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", + "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", + "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz", + "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz", + "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", + "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz", + "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", + "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", + "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", + "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", + "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz", + "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz", + "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", + "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz", + "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", + "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz", + "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", + "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-regex": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz", + "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", + "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.10.5.tgz", + "integrity": "sha512-YCyYsFrrRMZ3qR7wRwtSSJovPG5vGyG4ZdcSAivGwTfoasMp3VOB/AKhohu3dFtmB4cCDcsndCSxGtrdliCsZQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-typescript": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz", + "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", + "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.4.tgz", + "integrity": "sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.4", + "@babel/helper-compilation-targets": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-proposal-async-generator-functions": "^7.10.4", + "@babel/plugin-proposal-class-properties": "^7.10.4", + "@babel/plugin-proposal-dynamic-import": "^7.10.4", + "@babel/plugin-proposal-json-strings": "^7.10.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", + "@babel/plugin-proposal-numeric-separator": "^7.10.4", + "@babel/plugin-proposal-object-rest-spread": "^7.10.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.10.4", + "@babel/plugin-proposal-optional-chaining": "^7.10.4", + "@babel/plugin-proposal-private-methods": "^7.10.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.10.4", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.10.4", + "@babel/plugin-transform-arrow-functions": "^7.10.4", + "@babel/plugin-transform-async-to-generator": "^7.10.4", + "@babel/plugin-transform-block-scoped-functions": "^7.10.4", + "@babel/plugin-transform-block-scoping": "^7.10.4", + "@babel/plugin-transform-classes": "^7.10.4", + "@babel/plugin-transform-computed-properties": "^7.10.4", + "@babel/plugin-transform-destructuring": "^7.10.4", + "@babel/plugin-transform-dotall-regex": "^7.10.4", + "@babel/plugin-transform-duplicate-keys": "^7.10.4", + "@babel/plugin-transform-exponentiation-operator": "^7.10.4", + "@babel/plugin-transform-for-of": "^7.10.4", + "@babel/plugin-transform-function-name": "^7.10.4", + "@babel/plugin-transform-literals": "^7.10.4", + "@babel/plugin-transform-member-expression-literals": "^7.10.4", + "@babel/plugin-transform-modules-amd": "^7.10.4", + "@babel/plugin-transform-modules-commonjs": "^7.10.4", + "@babel/plugin-transform-modules-systemjs": "^7.10.4", + "@babel/plugin-transform-modules-umd": "^7.10.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4", + "@babel/plugin-transform-new-target": "^7.10.4", + "@babel/plugin-transform-object-super": "^7.10.4", + "@babel/plugin-transform-parameters": "^7.10.4", + "@babel/plugin-transform-property-literals": "^7.10.4", + "@babel/plugin-transform-regenerator": "^7.10.4", + "@babel/plugin-transform-reserved-words": "^7.10.4", + "@babel/plugin-transform-shorthand-properties": "^7.10.4", + "@babel/plugin-transform-spread": "^7.10.4", + "@babel/plugin-transform-sticky-regex": "^7.10.4", + "@babel/plugin-transform-template-literals": "^7.10.4", + "@babel/plugin-transform-typeof-symbol": "^7.10.4", + "@babel/plugin-transform-unicode-escapes": "^7.10.4", + "@babel/plugin-transform-unicode-regex": "^7.10.4", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.10.4", + "browserslist": "^4.12.0", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.10.4.tgz", + "integrity": "sha512-SdYnvGPv+bLlwkF2VkJnaX/ni1sMNetcGI1+nThF1gyv6Ph8Qucc4ZZAjM5yZcE/AKRXIOTZz7eSRDWOEjPyRQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.10.4" + } + }, + "@babel/register": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.10.5.tgz", + "integrity": "sha512-eYHdLv43nyvmPn9bfNfrcC4+iYNwdQ8Pxk1MFJuU/U5LpSYl/PH4dFMazCYZDFVi8ueG3shvO+AQfLrxpYulQw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.19", + "make-dir": "^2.1.0", + "pirates": "^4.0.0", + "source-map-support": "^0.5.16" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + } + } + }, + "@babel/runtime": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz", + "integrity": "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.5.tgz", + "integrity": "sha512-RMafpmrNB5E/bwdSphLr8a8++9TosnyJp98RZzI6VOx2R2CCMpsXXXRvmI700O9oEKpXdZat6oEK68/F0zjd4A==", + "dev": true, + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz", + "integrity": "sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/types": "^7.10.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz", + "integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, + "@jest/console": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.1.0.tgz", + "integrity": "sha512-+0lpTHMd/8pJp+Nd4lyip+/Iyf2dZJvcCqrlkeZQoQid+JlThA4M9vxHtheyrQ99jJTMQam+es4BcvZ5W5cC3A==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "jest-message-util": "^26.1.0", + "jest-util": "^26.1.0", + "slash": "^3.0.0" + }, + "dependencies": { "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@rollup/plugin-babel": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.1.0.tgz", - "integrity": "sha512-zXBEYmfiLAMvB+ZBa6m/q9hsQYAq1sUFdjuP1F6C2pf6uQcpHwAWQveZgzS63zXdKPUYHD3Dr7BhjCqcr0bbLw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@rollup/pluginutils": "^3.0.8" - } - }, - "@rollup/plugin-commonjs": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-14.0.0.tgz", - "integrity": "sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.8", - "commondir": "^1.0.1", - "estree-walker": "^1.0.1", - "glob": "^7.1.2", - "is-reference": "^1.1.2", - "magic-string": "^0.25.2", - "resolve": "^1.11.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz", - "integrity": "sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deep-freeze": "^0.0.1", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" - } - }, - "@rollup/plugin-typescript": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-5.0.2.tgz", - "integrity": "sha512-CkS028Itwjqm1uLbFVfpJgtVtnNvZ+og/m6UlNRR5wOOnNTWPcVQzOu5xGdEX+WWJxdvWIqUq2uR/RBt2ZipWg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.1", - "resolve": "^1.14.1" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - } - }, - "@sinonjs/commons": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", - "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@types/babel__core": { - "version": "7.1.9", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", - "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.13.tgz", - "integrity": "sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "@types/graceful-fs": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz", - "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", - "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", - "dev": true, - "requires": { - "jest-diff": "^25.2.1", - "pretty-format": "^25.2.1" - } - }, - "@types/node": { - "version": "14.0.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", - "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "@types/prettier": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.0.2.tgz", - "integrity": "sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA==", - "dev": true - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "@types/yargs": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", - "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", - "dev": true - }, - "abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", - "dev": true - }, - "acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", - "dev": true - }, - "babel-jest": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.1.0.tgz", - "integrity": "sha512-Nkqgtfe7j6PxLO6TnCQQlkMm8wdTdnIF8xrdpooHCuD5hXRzVEPbPneTJKknH5Dsv3L8ip9unHDAp48YQ54Dkg==", - "dev": true, - "requires": { - "@jest/transform": "^26.1.0", - "@jest/types": "^26.1.0", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.1.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.1.0.tgz", - "integrity": "sha512-qhqLVkkSlqmC83bdMhM8WW4Z9tB+JkjqAqlbbohS9sJLT5Ha2vfzuKqg5yenXrAjOPG2YC0WiXdH3a9PvB+YYw==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz", - "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.1.0.tgz", - "integrity": "sha512-na9qCqFksknlEj5iSdw1ehMVR06LCCTkZLGKeEtxDDdhg8xpUF09m29Kvh1pRbZ07h7AQ5ttLYUwpXL4tO6w7w==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^26.1.0", - "babel-preset-current-node-syntax": "^0.1.2" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browserslist": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", - "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001093", - "electron-to-chromium": "^1.3.488", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "builtin-modules": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", - "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "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" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001102", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001102.tgz", - "integrity": "sha512-fOjqRmHjRXv1H1YD6QVLb96iKqnu17TjcLSaX64TwhGYed0P1E1CCWZ9OujbbK4Z/7zax7zAzvQidzdtjx8RcA==", - "dev": true - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "requires": { - "rsvp": "^4.8.4" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", - "dev": true - }, - "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", - "dev": true, - "requires": { - "browserslist": "^4.8.5", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decimal.js": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz", - "integrity": "sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-freeze": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz", - "integrity": "sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "electron-to-chromium": { - "version": "1.3.500", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.500.tgz", - "integrity": "sha512-Zz8BZh4Ssb/rZBaicqpi+GOQ0uu3y+24+MxBLCk0UYt8EGoZRP4cYzYHHwXGZfrSbCU4VDjbWN+Tg+TPgOUX6Q==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz", - "integrity": "sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", - "dev": true - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "expect": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.1.0.tgz", - "integrity": "sha512-QbH4LZXDsno9AACrN9eM0zfnby9G+OsdNgZUohjg/P0mLy1O+/bzTAJGT6VSIjVCe8yKM6SzEl/ckEOFBT7Vnw==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.0.0", - "jest-matcher-utils": "^26.1.0", - "jest-message-util": "^26.1.0", - "jest-regex-util": "^26.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-get-type": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", - "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "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" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true, - "optional": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "dev": true, - "optional": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", - "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", - "dev": true - }, - "is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "optional": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.1.0.tgz", - "integrity": "sha512-LIti8jppw5BcQvmNJe4w2g1N/3V68HUfAv9zDVm7v+VAtQulGhH0LnmmiVkbNE4M4I43Bj2fXPiBGKt26k9tHw==", - "dev": true, - "requires": { - "@jest/core": "^26.1.0", - "import-local": "^3.0.2", - "jest-cli": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-cli": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.1.0.tgz", - "integrity": "sha512-Imumvjgi3rU7stq6SJ1JUEMaV5aAgJYXIs0jPqdUnF47N/Tk83EXfmtvNKQ+SnFVI6t6mDOvfM3aA9Sg6kQPSw==", - "dev": true, - "requires": { - "@jest/core": "^26.1.0", - "@jest/test-result": "^26.1.0", - "@jest/types": "^26.1.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.1.0", - "jest-util": "^26.1.0", - "jest-validate": "^26.1.0", - "prompts": "^2.0.1", - "yargs": "^15.3.1" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-changed-files": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.1.0.tgz", - "integrity": "sha512-HS5MIJp3B8t0NRKGMCZkcDUZo36mVRvrDETl81aqljT1S9tqiHRSpyoOvWg9ZilzZG9TDisDNaN1IXm54fLRZw==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz", - "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.1.0.tgz", - "integrity": "sha512-ONTGeoMbAwGCdq4WuKkMcdMoyfs5CLzHEkzFOlVvcDXufZSaIWh/OXMLa2fwKXiOaFcqEw8qFr4VOKJQfn4CVw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.1.0", - "@jest/types": "^26.1.0", - "babel-jest": "^26.1.0", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.1.0", - "jest-environment-node": "^26.1.0", - "jest-get-type": "^26.0.0", - "jest-jasmine2": "^26.1.0", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.1.0", - "jest-util": "^26.1.0", - "jest-validate": "^26.1.0", - "micromatch": "^4.0.2", - "pretty-format": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-get-type": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", - "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", - "dev": true - }, - "pretty-format": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", - "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.1.0.tgz", - "integrity": "sha512-lYiSo4Igr81q6QRsVQq9LIkJW0hZcKxkIkHzNeTMPENYYDw/W/Raq28iJ0sLlNFYz2qxxeLnc5K2gQoFYlu2bA==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.0.0", - "jest-util": "^26.1.0", - "pretty-format": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-get-type": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", - "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", - "dev": true - }, - "pretty-format": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", - "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.1.0.tgz", - "integrity": "sha512-dWfiJ+spunVAwzXbdVqPH1LbuJW/kDL+FyqgA5YzquisHqTi0g9hquKif9xKm7c1bKBj6wbmJuDkeMCnxZEpUw==", - "dev": true, - "requires": { - "@jest/environment": "^26.1.0", - "@jest/fake-timers": "^26.1.0", - "@jest/types": "^26.1.0", - "jest-mock": "^26.1.0", - "jest-util": "^26.1.0", - "jsdom": "^16.2.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-node": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.1.0.tgz", - "integrity": "sha512-DNm5x1aQH0iRAe9UYAkZenuzuJ69VKzDCAYISFHQ5i9e+2Tbeu2ONGY7YStubCLH8a1wdKBgqScYw85+ySxqxg==", - "dev": true, - "requires": { - "@jest/environment": "^26.1.0", - "@jest/fake-timers": "^26.1.0", - "@jest/types": "^26.1.0", - "jest-mock": "^26.1.0", - "jest-util": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, - "jest-haste-map": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.1.0.tgz", - "integrity": "sha512-WeBS54xCIz9twzkEdm6+vJBXgRBQfdbbXD0dk8lJh7gLihopABlJmIQFdWSDDtuDe4PRiObsjZSUjbJ1uhWEpA==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-serializer": "^26.1.0", - "jest-util": "^26.1.0", - "jest-worker": "^26.1.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-jasmine2": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.1.0.tgz", - "integrity": "sha512-1IPtoDKOAG+MeBrKvvuxxGPJb35MTTRSDglNdWWCndCB3TIVzbLThRBkwH9P081vXLgiJHZY8Bz3yzFS803xqQ==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.1.0", - "@jest/source-map": "^26.1.0", - "@jest/test-result": "^26.1.0", - "@jest/types": "^26.1.0", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.1.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.1.0", - "jest-matcher-utils": "^26.1.0", - "jest-message-util": "^26.1.0", - "jest-runtime": "^26.1.0", - "jest-snapshot": "^26.1.0", - "jest-util": "^26.1.0", - "pretty-format": "^26.1.0", - "throat": "^5.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", - "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.1.0.tgz", - "integrity": "sha512-dsMnKF+4BVOZwvQDlgn3MG+Ns4JuLv8jNvXH56bgqrrboyCbI1rQg6EI5rs+8IYagVcfVP2yZFKfWNZy0rK0Hw==", - "dev": true, - "requires": { - "jest-get-type": "^26.0.0", - "pretty-format": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-get-type": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", - "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", - "dev": true - }, - "pretty-format": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", - "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-matcher-utils": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.1.0.tgz", - "integrity": "sha512-PW9JtItbYvES/xLn5mYxjMd+Rk+/kIt88EfH3N7w9KeOrHWaHrdYPnVHndGbsFGRJ2d5gKtwggCvkqbFDoouQA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.1.0", - "jest-get-type": "^26.0.0", - "pretty-format": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "diff-sequences": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.0.0.tgz", - "integrity": "sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-diff": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.1.0.tgz", - "integrity": "sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.0.0", - "jest-get-type": "^26.0.0", - "pretty-format": "^26.1.0" - } - }, - "jest-get-type": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", - "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", - "dev": true - }, - "pretty-format": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", - "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.1.0.tgz", - "integrity": "sha512-dY0+UlldiAJwNDJ08SF0HdF32g9PkbF2NRK/+2iMPU40O6q+iSn1lgog/u0UH8ksWoPv0+gNq8cjhYO2MFtT0g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.1.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.1.0.tgz", - "integrity": "sha512-1Rm8EIJ3ZFA8yCIie92UbxZWj9SuVmUGcyhLHyAhY6WI3NIct38nVcfOPWhJteqSn8V8e3xOMha9Ojfazfpovw==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true - }, - "jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", - "dev": true - }, - "jest-resolve": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.1.0.tgz", - "integrity": "sha512-KsY1JV9FeVgEmwIISbZZN83RNGJ1CC+XUCikf/ZWJBX/tO4a4NvA21YixokhdR9UnmPKKAC4LafVixJBrwlmfg==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.1", - "jest-util": "^26.1.0", - "read-pkg-up": "^7.0.1", - "resolve": "^1.17.0", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.1.0.tgz", - "integrity": "sha512-fQVEPHHQ1JjHRDxzlLU/buuQ9om+hqW6Vo928aa4b4yvq4ZHBtRSDsLdKQLuCqn5CkTVpYZ7ARh2fbA8WkRE6g==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runner": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.1.0.tgz", - "integrity": "sha512-elvP7y0fVDREnfqit0zAxiXkDRSw6dgCkzPCf1XvIMnSDZ8yogmSKJf192dpOgnUVykmQXwYYJnCx641uLTgcw==", - "dev": true, - "requires": { - "@jest/console": "^26.1.0", - "@jest/environment": "^26.1.0", - "@jest/test-result": "^26.1.0", - "@jest/types": "^26.1.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.1.0", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.1.0", - "jest-jasmine2": "^26.1.0", - "jest-leak-detector": "^26.1.0", - "jest-message-util": "^26.1.0", - "jest-resolve": "^26.1.0", - "jest-runtime": "^26.1.0", - "jest-util": "^26.1.0", - "jest-worker": "^26.1.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.1.0.tgz", - "integrity": "sha512-1qiYN+EZLmG1QV2wdEBRf+Ci8i3VSfIYLF02U18PiUDrMbhfpN/EAMMkJtT02jgJUoaEOpHAIXG6zS3QRMzRmA==", - "dev": true, - "requires": { - "@jest/console": "^26.1.0", - "@jest/environment": "^26.1.0", - "@jest/fake-timers": "^26.1.0", - "@jest/globals": "^26.1.0", - "@jest/source-map": "^26.1.0", - "@jest/test-result": "^26.1.0", - "@jest/transform": "^26.1.0", - "@jest/types": "^26.1.0", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.1.0", - "jest-haste-map": "^26.1.0", - "jest-message-util": "^26.1.0", - "jest-mock": "^26.1.0", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.1.0", - "jest-snapshot": "^26.1.0", - "jest-util": "^26.1.0", - "jest-validate": "^26.1.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.3.1" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.1.0.tgz", - "integrity": "sha512-eqZOQG/0+MHmr25b2Z86g7+Kzd5dG9dhCiUoyUNJPgiqi38DqbDEOlHcNijyfZoj74soGBohKBZuJFS18YTJ5w==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4" - } - }, - "jest-snapshot": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.1.0.tgz", - "integrity": "sha512-YhSbU7eMTVQO/iRbNs8j0mKRxGp4plo7sJ3GzOQ0IYjvsBiwg0T1o0zGQAYepza7lYHuPTrG5J2yDd0CE2YxSw==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.1.0", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.1.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.1.0", - "jest-get-type": "^26.0.0", - "jest-haste-map": "^26.1.0", - "jest-matcher-utils": "^26.1.0", - "jest-message-util": "^26.1.0", - "jest-resolve": "^26.1.0", - "natural-compare": "^1.4.0", - "pretty-format": "^26.1.0", - "semver": "^7.3.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "diff-sequences": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.0.0.tgz", - "integrity": "sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-diff": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.1.0.tgz", - "integrity": "sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.0.0", - "jest-get-type": "^26.0.0", - "pretty-format": "^26.1.0" - } - }, - "jest-get-type": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", - "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", - "dev": true - }, - "pretty-format": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", - "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.1.0.tgz", - "integrity": "sha512-rNMOwFQevljfNGvbzNQAxdmXQ+NawW/J72dmddsK0E8vgxXCMtwQ/EH0BiWEIxh0hhMcTsxwAxINt7Lh46Uzbg==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.1.0.tgz", - "integrity": "sha512-WPApOOnXsiwhZtmkDsxnpye+XLb/tUISP+H6cHjfUIXvlG+eKwP+isnivsxlHCPaO9Q5wvbhloIBkdF3qUn+Nw==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.0.0", - "leven": "^3.1.0", - "pretty-format": "^26.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz", - "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==", - "dev": true - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-get-type": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", - "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", - "dev": true - }, - "pretty-format": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", - "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", - "dev": true, - "requires": { - "@jest/types": "^26.1.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.1.0.tgz", - "integrity": "sha512-ffEOhJl2EvAIki613oPsSG11usqnGUzIiK7MMX6hE4422aXOcVEG3ySCTDFLn1+LZNXGPE8tuJxhp8OBJ1pgzQ==", - "dev": true, - "requires": { - "@jest/test-result": "^26.1.0", - "@jest/types": "^26.1.0", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.1.0", - "string-length": "^4.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", - "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz", - "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdom": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.3.0.tgz", - "integrity": "sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "acorn": "^7.1.1", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.2.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.0", - "domexception": "^2.0.1", - "escodegen": "^1.14.1", - "html-encoding-sniffer": "^2.0.1", - "is-potential-custom-element-name": "^1.0.0", - "nwsapi": "^2.2.0", - "parse5": "5.1.1", - "request": "^2.88.2", - "request-promise-native": "^1.0.8", - "saxes": "^5.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0", - "ws": "^7.2.3", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", - "dev": true, - "requires": { - "leven": "^3.1.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, - "requires": { - "mime-db": "1.44.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "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" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-notifier": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-7.0.1.tgz", - "integrity": "sha512-VkzhierE7DBmQEElhTGJIoiZa1oqRijOtgOlsXg32KrJRXsPy0NXFBqWGW/wTswnJlDCs5viRYaqWguqzsKcmg==", - "dev": true, - "optional": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.1.1", - "semver": "^7.2.1", - "shellwords": "^0.1.1", - "uuid": "^7.0.3", - "which": "^2.0.2" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true, - "optional": true - } - } - }, - "node-releases": { - "version": "1.1.59", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz", - "integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "p-each-series": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", - "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "prompts": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", - "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.4" - } - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "regenerate": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", - "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "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.3", - "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.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, - "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", - "dev": true, - "requires": { - "request-promise-core": "1.1.3", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.22.1.tgz", - "integrity": "sha512-K9AUQUCJkVqC+A7uUDacfhmpEeAjc2uOmSpvGI5xaYsm8pXgy4ZWEM8wHPfKj11xvCwFZppkRDo8a0RESJXCnw==", - "dev": true, - "requires": { - "fsevents": "~2.1.2" - } - }, - "rollup-plugin-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-6.1.0.tgz", - "integrity": "sha512-4fB3M9nuoWxrwm39habpd4hvrbrde2W2GG4zEGPQg1YITNkM3Tqur5jSuXlWNzbv/2aMLJ+dZJaySc3GCD8oDw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "jest-worker": "^26.0.0", - "serialize-javascript": "^3.0.0", - "terser": "^4.7.0" - } - }, - "rollup-plugin-typescript2": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.1.tgz", - "integrity": "sha512-RJl77Bbj1EunAQDC3dK/O2HWuSUX3oJbRGzyLoS5o9W4Hs1Nix3Gavqj1Lzs5Y6Ff4H2xXfmZ1WWUQCYocSbzQ==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.8", - "find-cache-dir": "^3.3.1", - "fs-extra": "8.1.0", - "resolve": "1.15.1", - "tslib": "1.11.2" - }, - "dependencies": { - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "tslib": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", - "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==", - "dev": true - } - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "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" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stack-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz", - "integrity": "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "string-length": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", - "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.1.0.tgz", + "integrity": "sha512-zyizYmDJOOVke4OO/De//aiv8b07OwZzL2cfsvWF3q9YssfpcKfcnZAwDY8f+A76xXSMMYe8i/f/LPocLlByfw==", + "dev": true, + "requires": { + "@jest/console": "^26.1.0", + "@jest/reporters": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/transform": "^26.1.0", + "@jest/types": "^26.1.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.1.0", + "jest-config": "^26.1.0", + "jest-haste-map": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.1.0", + "jest-resolve-dependencies": "^26.1.0", + "jest-runner": "^26.1.0", + "jest-runtime": "^26.1.0", + "jest-snapshot": "^26.1.0", + "jest-util": "^26.1.0", + "jest-validate": "^26.1.0", + "jest-watcher": "^26.1.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } }, - "supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.1.0.tgz", + "integrity": "sha512-86+DNcGongbX7ai/KE/S3/NcUVZfrwvFzOOWX/W+OOTvTds7j07LtC+MgGydH5c8Ri3uIrvdmVgd1xFD5zt/xA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^26.1.0", + "@jest/types": "^26.1.0", + "jest-mock": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dev": true, - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/fake-timers": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.1.0.tgz", + "integrity": "sha512-Y5F3kBVWxhau3TJ825iuWy++BAuQzK/xEa+wD9vDH3RytW9f2DbMVodfUQC54rZDX3POqdxCgcKdgcOL0rYUpA==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "@sinonjs/fake-timers": "^6.0.1", + "jest-message-util": "^26.1.0", + "jest-mock": "^26.1.0", + "jest-util": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } }, - "tr46": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", - "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } }, - "tslib": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", - "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==", - "dev": true + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/globals": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.1.0.tgz", + "integrity": "sha512-MKiHPNaT+ZoG85oMaYUmGHEqu98y3WO2yeIDJrs2sJqHhYOy3Z6F7F/luzFomRQ8SQ1wEkmahFAz2291Iv8EAw==", + "dev": true, + "requires": { + "@jest/environment": "^26.1.0", + "@jest/types": "^26.1.0", + "expect": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/reporters": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.1.0.tgz", + "integrity": "sha512-SVAysur9FOIojJbF4wLP0TybmqwDkdnFxHSPzHMMIYyBtldCW9gG+Q5xWjpMFyErDiwlRuPyMSJSU64A67Pazg==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/transform": "^26.1.0", + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.1.0", + "jest-resolve": "^26.1.0", + "jest-util": "^26.1.0", + "jest-worker": "^26.1.0", + "node-notifier": "^7.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/source-map": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.1.0.tgz", + "integrity": "sha512-XYRPYx4eEVX15cMT9mstnO7hkHP3krNtKfxUYd8L7gbtia8JvZZ6bMzSwa6IQJENbudTwKMw5R1BePRD+bkEmA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@jest/test-result": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.1.0.tgz", + "integrity": "sha512-Xz44mhXph93EYMA8aYDz+75mFbarTV/d/x0yMdI3tfSRs/vh4CqSxgzVmCps1fPkHDCtn0tU8IH9iCKgGeGpfw==", + "dev": true, + "requires": { + "@jest/console": "^26.1.0", + "@jest/types": "^26.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/test-sequencer": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.1.0.tgz", + "integrity": "sha512-Z/hcK+rTq56E6sBwMoQhSRDVjqrGtj1y14e2bIgcowARaIE1SgOanwx6gvY4Q9gTKMoZQXbXvptji+q5GYxa6Q==", + "dev": true, + "requires": { + "@jest/test-result": "^26.1.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.1.0", + "jest-runner": "^26.1.0", + "jest-runtime": "^26.1.0" + } + }, + "@jest/transform": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.1.0.tgz", + "integrity": "sha512-ICPm6sUXmZJieq45ix28k0s+d/z2E8CHDsq+WwtWI6kW8m7I8kPqarSEcUN86entHQ570ZBRci5OWaKL0wlAWw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.1.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.1.0", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.1.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "@rollup/plugin-babel": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.1.0.tgz", + "integrity": "sha512-zXBEYmfiLAMvB+ZBa6m/q9hsQYAq1sUFdjuP1F6C2pf6uQcpHwAWQveZgzS63zXdKPUYHD3Dr7BhjCqcr0bbLw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@rollup/pluginutils": "^3.0.8" + } + }, + "@rollup/plugin-commonjs": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-14.0.0.tgz", + "integrity": "sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8", + "commondir": "^1.0.1", + "estree-walker": "^1.0.1", + "glob": "^7.1.2", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz", + "integrity": "sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deep-freeze": "^0.0.1", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" + } + }, + "@rollup/plugin-typescript": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-5.0.2.tgz", + "integrity": "sha512-CkS028Itwjqm1uLbFVfpJgtVtnNvZ+og/m6UlNRR5wOOnNTWPcVQzOu5xGdEX+WWJxdvWIqUq2uR/RBt2ZipWg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.1", + "resolve": "^1.14.1" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/babel__core": { + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", + "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.13.tgz", + "integrity": "sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz", + "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", + "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", + "dev": true, + "requires": { + "jest-diff": "^25.2.1", + "pretty-format": "^25.2.1" + } + }, + "@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "14.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", + "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/prettier": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.0.2.tgz", + "integrity": "sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA==", + "dev": true + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", + "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.7.0.tgz", + "integrity": "sha512-4OEcPON3QIx0ntsuiuFP/TkldmBGXf0uKxPQlGtS/W2F3ndYm8Vgdpj/woPJkzUc65gd3iR+qi3K8SDQP/obFg==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "3.7.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.7.0.tgz", + "integrity": "sha512-xpfXXAfZqhhqs5RPQBfAFrWDHoNxD5+sVB5A46TF58Bq1hRfVROrWHcQHHUM9aCBdy9+cwATcvCbRg8aIRbaHQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/types": "3.7.0", + "@typescript-eslint/typescript-estree": "3.7.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.7.0.tgz", + "integrity": "sha512-2LZauVUt7jAWkcIW7djUc3kyW+fSarNEuM3RF2JdLHR9BfX/nDEnyA4/uWz0wseoWVZbDXDF7iF9Jc342flNqQ==", + "dev": true, + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "3.7.0", + "@typescript-eslint/types": "3.7.0", + "@typescript-eslint/typescript-estree": "3.7.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/types": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.7.0.tgz", + "integrity": "sha512-reCaK+hyKkKF+itoylAnLzFeNYAEktB0XVfSQvf0gcVgpz1l49Lt6Vo9x4MVCCxiDydA0iLAjTF/ODH0pbfnpg==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.7.0.tgz", + "integrity": "sha512-xr5oobkYRebejlACGr1TJ0Z/r0a2/HUf0SXqPvlgUMwiMqOCu/J+/Dr9U3T0IxpE5oLFSkqMx1FE/dKaZ8KsOQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "3.7.0", + "@typescript-eslint/visitor-keys": "3.7.0", + "debug": "^4.1.1", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.7.0.tgz", + "integrity": "sha512-k5PiZdB4vklUpUX4NBncn5RBKty8G3ihTY+hqJsCdMuD0v4jofI5xuqwnVcWxfv6iTm2P/dfEa2wMUnsUY8ODw==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", + "dev": true + }, + "acorn": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", + "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "array.prototype.flatmap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", + "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", + "dev": true + }, + "axe-core": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz", + "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==", + "dev": true + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, + "babel-jest": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.1.0.tgz", + "integrity": "sha512-Nkqgtfe7j6PxLO6TnCQQlkMm8wdTdnIF8xrdpooHCuD5hXRzVEPbPneTJKknH5Dsv3L8ip9unHDAp48YQ54Dkg==", + "dev": true, + "requires": { + "@jest/transform": "^26.1.0", + "@jest/types": "^26.1.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.1.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.1.0.tgz", + "integrity": "sha512-qhqLVkkSlqmC83bdMhM8WW4Z9tB+JkjqAqlbbohS9sJLT5Ha2vfzuKqg5yenXrAjOPG2YC0WiXdH3a9PvB+YYw==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz", + "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.1.0.tgz", + "integrity": "sha512-na9qCqFksknlEj5iSdw1ehMVR06LCCTkZLGKeEtxDDdhg8xpUF09m29Kvh1pRbZ07h7AQ5ttLYUwpXL4tO6w7w==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^26.1.0", + "babel-preset-current-node-syntax": "^0.1.2" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browserslist": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", + "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001093", + "electron-to-chromium": "^1.3.488", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "builtin-modules": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", + "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "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" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001102", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001102.tgz", + "integrity": "sha512-fOjqRmHjRXv1H1YD6QVLb96iKqnu17TjcLSaX64TwhGYed0P1E1CCWZ9OujbbK4Z/7zax7zAzvQidzdtjx8RcA==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "confusing-browser-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "dev": true + }, + "core-js-compat": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", + "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "dev": true, + "requires": { + "browserslist": "^4.8.5", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-js-pure": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", + "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decimal.js": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz", + "integrity": "sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-freeze": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz", + "integrity": "sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "dev": true, + "requires": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "electron-to-chromium": { + "version": "1.3.500", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.500.tgz", + "integrity": "sha512-Zz8BZh4Ssb/rZBaicqpi+GOQ0uu3y+24+MxBLCk0UYt8EGoZRP4cYzYHHwXGZfrSbCU4VDjbWN+Tg+TPgOUX6Q==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz", + "integrity": "sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "eslint": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.5.0.tgz", + "integrity": "sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.0", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^1.3.0", + "espree": "^7.2.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } }, "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + } + } + }, + "eslint-config-airbnb": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.0.tgz", + "integrity": "sha512-Fz4JIUKkrhO0du2cg5opdyPKQXOI2MvF8KUvN2710nJMT6jaRUpRE2swrJftAjVGL7T1otLM5ieo5RqS1v9Udg==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^14.2.0", + "object.assign": "^4.1.0", + "object.entries": "^1.1.2" + } + }, + "eslint-config-airbnb-base": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.0.tgz", + "integrity": "sha512-Snswd5oC6nJaevs3nZoLSTvGJBvzTfnBqOIArkf3cbyTyq9UD79wOk8s+RiL6bhca0p/eRO6veczhf6A/7Jy8Q==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.9", + "object.assign": "^4.1.0", + "object.entries": "^1.1.2" + } + }, + "eslint-config-prettier": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", + "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.3", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + } + } + }, + "eslint-plugin-jest": { + "version": "23.18.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.18.0.tgz", + "integrity": "sha512-wLPM/Rm1SGhxrFQ2TKM/BYsYPhn7ch6ZEK92S2o/vGkAAnDXM0I4nTIo745RIX+VlCRMFgBuJEax6XfTHMdeKg==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "^2.5.0" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "eslint-plugin-json": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-2.1.2.tgz", + "integrity": "sha512-isM/fsUxS4wN1+nLsWoV5T4gLgBQnsql3nMTr8u+cEls1bL8rRQO5CP5GtxJxaOfbcKqnz401styw+H/P+e78Q==", + "dev": true, + "requires": { + "lodash": "^4.17.19", + "vscode-json-languageservice": "^3.7.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz", + "integrity": "sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "aria-query": "^4.2.2", + "array-includes": "^3.1.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^3.5.4", + "axobject-query": "^2.1.2", + "damerau-levenshtein": "^1.0.6", + "emoji-regex": "^9.0.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1", + "language-tags": "^1.0.5" + }, + "dependencies": { + "emoji-regex": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.0.0.tgz", + "integrity": "sha512-6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w==", + "dev": true + } + } + }, + "eslint-plugin-prettier": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz", + "integrity": "sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-react": { + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.20.3.tgz", + "integrity": "sha512-txbo090buDeyV0ugF3YMWrzLIUqpYTsWSDZV9xLSmExE1P/Kmgg9++PD931r+KEWS66O1c9R4srLVVHmeHpoAg==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flatmap": "^1.2.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1", + "object.entries": "^1.1.2", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.17.0", + "string.prototype.matchall": "^4.0.2" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.0.8.tgz", + "integrity": "sha512-6SSb5AiMCPd8FDJrzah+Z4F44P2CdOaK026cXFV+o/xSRzfOiV1FNFeLl2z6xm3yqWOQEZ5OfVgiec90qV2xrQ==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.2.0.tgz", + "integrity": "sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g==", + "dev": true, + "requires": { + "acorn": "^7.3.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.3.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", + "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expect": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.1.0.tgz", + "integrity": "sha512-QbH4LZXDsno9AACrN9eM0zfnby9G+OsdNgZUohjg/P0mLy1O+/bzTAJGT6VSIjVCe8yKM6SzEl/ckEOFBT7Vnw==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.0.0", + "jest-matcher-utils": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-regex-util": "^26.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", + "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "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-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } } + } }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", + "dev": true, + "optional": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", + "dev": true + }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.1.0.tgz", + "integrity": "sha512-LIti8jppw5BcQvmNJe4w2g1N/3V68HUfAv9zDVm7v+VAtQulGhH0LnmmiVkbNE4M4I43Bj2fXPiBGKt26k9tHw==", + "dev": true, + "requires": { + "@jest/core": "^26.1.0", + "import-local": "^3.0.2", + "jest-cli": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-cli": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.1.0.tgz", + "integrity": "sha512-Imumvjgi3rU7stq6SJ1JUEMaV5aAgJYXIs0jPqdUnF47N/Tk83EXfmtvNKQ+SnFVI6t6mDOvfM3aA9Sg6kQPSw==", + "dev": true, + "requires": { + "@jest/core": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.1.0", + "jest-util": "^26.1.0", + "jest-validate": "^26.1.0", + "prompts": "^2.0.1", + "yargs": "^15.3.1" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-changed-files": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.1.0.tgz", + "integrity": "sha512-HS5MIJp3B8t0NRKGMCZkcDUZo36mVRvrDETl81aqljT1S9tqiHRSpyoOvWg9ZilzZG9TDisDNaN1IXm54fLRZw==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz", + "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.1.0.tgz", + "integrity": "sha512-ONTGeoMbAwGCdq4WuKkMcdMoyfs5CLzHEkzFOlVvcDXufZSaIWh/OXMLa2fwKXiOaFcqEw8qFr4VOKJQfn4CVw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.1.0", + "@jest/types": "^26.1.0", + "babel-jest": "^26.1.0", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.1.0", + "jest-environment-node": "^26.1.0", + "jest-get-type": "^26.0.0", + "jest-jasmine2": "^26.1.0", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.1.0", + "jest-util": "^26.1.0", + "jest-validate": "^26.1.0", + "micromatch": "^4.0.2", + "pretty-format": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.1.0.tgz", + "integrity": "sha512-lYiSo4Igr81q6QRsVQq9LIkJW0hZcKxkIkHzNeTMPENYYDw/W/Raq28iJ0sLlNFYz2qxxeLnc5K2gQoFYlu2bA==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.0.0", + "jest-util": "^26.1.0", + "pretty-format": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.1.0.tgz", + "integrity": "sha512-dWfiJ+spunVAwzXbdVqPH1LbuJW/kDL+FyqgA5YzquisHqTi0g9hquKif9xKm7c1bKBj6wbmJuDkeMCnxZEpUw==", + "dev": true, + "requires": { + "@jest/environment": "^26.1.0", + "@jest/fake-timers": "^26.1.0", + "@jest/types": "^26.1.0", + "jest-mock": "^26.1.0", + "jest-util": "^26.1.0", + "jsdom": "^16.2.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-node": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.1.0.tgz", + "integrity": "sha512-DNm5x1aQH0iRAe9UYAkZenuzuJ69VKzDCAYISFHQ5i9e+2Tbeu2ONGY7YStubCLH8a1wdKBgqScYw85+ySxqxg==", + "dev": true, + "requires": { + "@jest/environment": "^26.1.0", + "@jest/fake-timers": "^26.1.0", + "@jest/types": "^26.1.0", + "jest-mock": "^26.1.0", + "jest-util": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true + }, + "jest-haste-map": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.1.0.tgz", + "integrity": "sha512-WeBS54xCIz9twzkEdm6+vJBXgRBQfdbbXD0dk8lJh7gLihopABlJmIQFdWSDDtuDe4PRiObsjZSUjbJ1uhWEpA==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-serializer": "^26.1.0", + "jest-util": "^26.1.0", + "jest-worker": "^26.1.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-jasmine2": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.1.0.tgz", + "integrity": "sha512-1IPtoDKOAG+MeBrKvvuxxGPJb35MTTRSDglNdWWCndCB3TIVzbLThRBkwH9P081vXLgiJHZY8Bz3yzFS803xqQ==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.1.0", + "@jest/source-map": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.1.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.1.0", + "jest-matcher-utils": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-runtime": "^26.1.0", + "jest-snapshot": "^26.1.0", + "jest-util": "^26.1.0", + "pretty-format": "^26.1.0", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.1.0.tgz", + "integrity": "sha512-dsMnKF+4BVOZwvQDlgn3MG+Ns4JuLv8jNvXH56bgqrrboyCbI1rQg6EI5rs+8IYagVcfVP2yZFKfWNZy0rK0Hw==", + "dev": true, + "requires": { + "jest-get-type": "^26.0.0", + "pretty-format": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-matcher-utils": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.1.0.tgz", + "integrity": "sha512-PW9JtItbYvES/xLn5mYxjMd+Rk+/kIt88EfH3N7w9KeOrHWaHrdYPnVHndGbsFGRJ2d5gKtwggCvkqbFDoouQA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.1.0", + "jest-get-type": "^26.0.0", + "pretty-format": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "diff-sequences": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.0.0.tgz", + "integrity": "sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-diff": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.1.0.tgz", + "integrity": "sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.0.0", + "jest-get-type": "^26.0.0", + "pretty-format": "^26.1.0" + } + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.1.0.tgz", + "integrity": "sha512-dY0+UlldiAJwNDJ08SF0HdF32g9PkbF2NRK/+2iMPU40O6q+iSn1lgog/u0UH8ksWoPv0+gNq8cjhYO2MFtT0g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.1.0.tgz", + "integrity": "sha512-1Rm8EIJ3ZFA8yCIie92UbxZWj9SuVmUGcyhLHyAhY6WI3NIct38nVcfOPWhJteqSn8V8e3xOMha9Ojfazfpovw==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true + }, + "jest-resolve": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.1.0.tgz", + "integrity": "sha512-KsY1JV9FeVgEmwIISbZZN83RNGJ1CC+XUCikf/ZWJBX/tO4a4NvA21YixokhdR9UnmPKKAC4LafVixJBrwlmfg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "jest-util": "^26.1.0", + "read-pkg-up": "^7.0.1", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.1.0.tgz", + "integrity": "sha512-fQVEPHHQ1JjHRDxzlLU/buuQ9om+hqW6Vo928aa4b4yvq4ZHBtRSDsLdKQLuCqn5CkTVpYZ7ARh2fbA8WkRE6g==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runner": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.1.0.tgz", + "integrity": "sha512-elvP7y0fVDREnfqit0zAxiXkDRSw6dgCkzPCf1XvIMnSDZ8yogmSKJf192dpOgnUVykmQXwYYJnCx641uLTgcw==", + "dev": true, + "requires": { + "@jest/console": "^26.1.0", + "@jest/environment": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.1.0", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.1.0", + "jest-jasmine2": "^26.1.0", + "jest-leak-detector": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-resolve": "^26.1.0", + "jest-runtime": "^26.1.0", + "jest-util": "^26.1.0", + "jest-worker": "^26.1.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.1.0.tgz", + "integrity": "sha512-1qiYN+EZLmG1QV2wdEBRf+Ci8i3VSfIYLF02U18PiUDrMbhfpN/EAMMkJtT02jgJUoaEOpHAIXG6zS3QRMzRmA==", + "dev": true, + "requires": { + "@jest/console": "^26.1.0", + "@jest/environment": "^26.1.0", + "@jest/fake-timers": "^26.1.0", + "@jest/globals": "^26.1.0", + "@jest/source-map": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/transform": "^26.1.0", + "@jest/types": "^26.1.0", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.1.0", + "jest-haste-map": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-mock": "^26.1.0", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.1.0", + "jest-snapshot": "^26.1.0", + "jest-util": "^26.1.0", + "jest-validate": "^26.1.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-serializer": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.1.0.tgz", + "integrity": "sha512-eqZOQG/0+MHmr25b2Z86g7+Kzd5dG9dhCiUoyUNJPgiqi38DqbDEOlHcNijyfZoj74soGBohKBZuJFS18YTJ5w==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.1.0.tgz", + "integrity": "sha512-YhSbU7eMTVQO/iRbNs8j0mKRxGp4plo7sJ3GzOQ0IYjvsBiwg0T1o0zGQAYepza7lYHuPTrG5J2yDd0CE2YxSw==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.1.0", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.1.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.1.0", + "jest-get-type": "^26.0.0", + "jest-haste-map": "^26.1.0", + "jest-matcher-utils": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-resolve": "^26.1.0", + "natural-compare": "^1.4.0", + "pretty-format": "^26.1.0", + "semver": "^7.3.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "diff-sequences": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.0.0.tgz", + "integrity": "sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-diff": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.1.0.tgz", + "integrity": "sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.0.0", + "jest-get-type": "^26.0.0", + "pretty-format": "^26.1.0" + } + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.1.0.tgz", + "integrity": "sha512-rNMOwFQevljfNGvbzNQAxdmXQ+NawW/J72dmddsK0E8vgxXCMtwQ/EH0BiWEIxh0hhMcTsxwAxINt7Lh46Uzbg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.1.0.tgz", + "integrity": "sha512-WPApOOnXsiwhZtmkDsxnpye+XLb/tUISP+H6cHjfUIXvlG+eKwP+isnivsxlHCPaO9Q5wvbhloIBkdF3qUn+Nw==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.0.0", + "leven": "^3.1.0", + "pretty-format": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz", + "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.1.0.tgz", + "integrity": "sha512-ffEOhJl2EvAIki613oPsSG11usqnGUzIiK7MMX6hE4422aXOcVEG3ySCTDFLn1+LZNXGPE8tuJxhp8OBJ1pgzQ==", + "dev": true, + "requires": { + "@jest/test-result": "^26.1.0", + "@jest/types": "^26.1.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.1.0", + "string-length": "^4.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz", + "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "16.3.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.3.0.tgz", + "integrity": "sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonc-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.0.tgz", + "integrity": "sha512-b0EBt8SWFNnixVdvoR2ZtEGa9ZqLhbJnOjezn+WP+8kspFm+PFYDN8Z4Bc7pRlDjvuVcADSUkroIuTWWn/YiIA==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", + "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "object.assign": "^4.1.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "language-subtag-registry": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz", + "integrity": "sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==", + "dev": true + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "dev": true, + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "loglevel": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", + "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", + "dev": true + }, + "loglevel-colored-level-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz", + "integrity": "sha1-akAhj9x64V/HbD0PPmdsRlOIYD4=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "loglevel": "^1.4.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "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" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "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" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-7.0.1.tgz", + "integrity": "sha512-VkzhierE7DBmQEElhTGJIoiZa1oqRijOtgOlsXg32KrJRXsPy0NXFBqWGW/wTswnJlDCs5viRYaqWguqzsKcmg==", + "dev": true, + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^7.2.1", + "shellwords": "^0.1.1", + "uuid": "^7.0.3", + "which": "^2.0.2" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "optional": true + } + } + }, + "node-releases": { + "version": "1.1.59", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz", + "integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-each-series": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", + "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prettier": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz", + "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==", + "dev": true + }, + "prettier-eslint": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-11.0.0.tgz", + "integrity": "sha512-ACjL7T8m10HCO7DwYdXwhNWuZzQv86JkZAhVpzFV9brTMWi3i6LhqoELFaXf6RetDngujz89tnbDmGyvDl+rzA==", + "dev": true, + "requires": { + "@typescript-eslint/parser": "^3.0.0", + "common-tags": "^1.4.0", + "dlv": "^1.1.0", + "eslint": "^6.8.0", + "indent-string": "^4.0.0", + "lodash.merge": "^4.6.0", + "loglevel-colored-level-prefix": "^1.0.0", + "prettier": "^2.0.0", + "pretty-format": "^23.0.1", + "require-relative": "^0.8.7", + "typescript": "^3.9.3", + "vue-eslint-parser": "~7.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + } + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "prompts": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", + "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.4" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", - "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, + "regexpu-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "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.3", + "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.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } }, "uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "dev": true, - "optional": true - }, - "v8-to-istanbul": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", - "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.x" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.1.0.tgz", - "integrity": "sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^2.0.2", - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", - "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", - "dev": true - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true } + } + }, + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "dev": true, + "requires": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "require-relative": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.22.1.tgz", + "integrity": "sha512-K9AUQUCJkVqC+A7uUDacfhmpEeAjc2uOmSpvGI5xaYsm8pXgy4ZWEM8wHPfKj11xvCwFZppkRDo8a0RESJXCnw==", + "dev": true, + "requires": { + "fsevents": "~2.1.2" + } + }, + "rollup-plugin-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-6.1.0.tgz", + "integrity": "sha512-4fB3M9nuoWxrwm39habpd4hvrbrde2W2GG4zEGPQg1YITNkM3Tqur5jSuXlWNzbv/2aMLJ+dZJaySc3GCD8oDw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "jest-worker": "^26.0.0", + "serialize-javascript": "^3.0.0", + "terser": "^4.7.0" + } + }, + "rollup-plugin-typescript2": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.1.tgz", + "integrity": "sha512-RJl77Bbj1EunAQDC3dK/O2HWuSUX3oJbRGzyLoS5o9W4Hs1Nix3Gavqj1Lzs5Y6Ff4H2xXfmZ1WWUQCYocSbzQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8", + "find-cache-dir": "^3.3.1", + "fs-extra": "8.1.0", + "resolve": "1.15.1", + "tslib": "1.11.2" + }, + "dependencies": { + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "resolve": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "tslib": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", + "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==", + "dev": true + } + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "dev": true + }, + "rxjs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", + "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "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" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "side-channel": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz", + "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "object-inspect": "^1.7.0" + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz", + "integrity": "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "string-length": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", + "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "tslib": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", + "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==", + "dev": true + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", + "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "dev": true, + "optional": true + }, + "v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vscode-json-languageservice": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.7.0.tgz", + "integrity": "sha512-nGLqcBhTjdfkl8Dz9sYGK/ZCTjscYFoIjYw+qqkWB+vyNfM0k/AyIoT73DQvB/PArteCKjEVfQUF72GRZEDSbQ==", + "dev": true, + "requires": { + "jsonc-parser": "^2.2.1", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-nls": "^4.1.2", + "vscode-uri": "^2.1.2" + } + }, + "vscode-languageserver-textdocument": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz", + "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==", + "dev": true + }, + "vscode-languageserver-types": { + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", + "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==", + "dev": true + }, + "vscode-nls": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.2.tgz", + "integrity": "sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==", + "dev": true + }, + "vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==", + "dev": true + }, + "vue-eslint-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.1.0.tgz", + "integrity": "sha512-Kr21uPfthDc63nDl27AGQEhtt9VrZ9nkYk/NTftJ2ws9XiJwzJJCnCr3AITQ2jpRMA0XPGDECxYH8E027qMK9Q==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-scope": "^5.0.0", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.2.1", + "esquery": "^1.0.1", + "lodash": "^4.17.15" + }, + "dependencies": { + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + } + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.1.0.tgz", + "integrity": "sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", + "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } + } } diff --git a/package.json b/package.json index 8fd1691..5ac17b3 100644 --- a/package.json +++ b/package.json @@ -13,16 +13,31 @@ "@rollup/plugin-node-resolve": "^8.4.0", "@rollup/plugin-typescript": "^5.0.2", "@types/jest": "^25.2.3", + "@typescript-eslint/eslint-plugin": "^3.7.0", + "@typescript-eslint/parser": "^3.7.0", "babel-jest": "^26.0.1", + "del": "^5.1.0", + "eslint": "^7.5.0", + "eslint-config-airbnb": "^18.2.0", + "eslint-config-prettier": "^6.11.0", + "eslint-plugin-import": "^2.22.0", + "eslint-plugin-jest": "^23.18.0", + "eslint-plugin-json": "^2.1.2", + "eslint-plugin-jsx-a11y": "^6.3.1", + "eslint-plugin-prettier": "^3.1.4", + "eslint-plugin-react": "^7.20.3", + "eslint-plugin-react-hooks": "^4.0.8", "jest": "^26.0.1", + "prettier-eslint": "^11.0.0", "rollup": "^2.22.1", "rollup-plugin-terser": "^6.1.0", "rollup-plugin-typescript2": "^0.27.1", "tslib": "^2.0.0", - "typescript": "^3.9.3" + "typescript": "^3.9.7" }, "scripts": { "test": "jest --coverage", - "build": "npx webpack --env.project=overlayscrollbars" + "build": "npx rollup -c --config-project='overlayscrollbars'", + "lint": "npx eslint --fix ." } } diff --git a/packages/overlayscrollbars-jquery/build.config.json b/packages/overlayscrollbars-jquery/build.config.json new file mode 100644 index 0000000..6f292ff --- /dev/null +++ b/packages/overlayscrollbars-jquery/build.config.json @@ -0,0 +1,9 @@ +{ + "legacy": { + "name": "OverlayScrollbars", + "exports": "auto", + "globals": { + "jquery": "jQuery" + } + } +} diff --git a/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.esm.js b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.esm.js new file mode 100644 index 0000000..a6728ec --- /dev/null +++ b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.esm.js @@ -0,0 +1,14 @@ +export { default as not } from 'dir/not.png'; +import j from 'jquery'; +var abc = 'abc'; +const a = 1 + 1; +var file = { + a +}; +const a$1 = 'a'; +const b = 'b'; +const c = 'c'; +var index = j('div'); +export default index; +export { a$1 as a, abc, b, c, file }; +//# sourceMappingURL=overlayscrollbars-jquery.esm.js.map diff --git a/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.esm.js.map b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.esm.js.map new file mode 100644 index 0000000..2f50f0b --- /dev/null +++ b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.esm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"overlayscrollbars-jquery.esm.js","sources":["../src/dir/abc.js","../src/file.js","../src/test.js","../src/index.js"],"sourcesContent":["export default 'abc';\n","const a = 1 + 1;\nexport default {\n a,\n};\n","export const a = 'a';\nexport const b = 'b';\nexport const c = 'c';\n","import abc from 'dir/abc';\nimport not from 'dir/not.png';\nimport file from 'file';\nimport j from 'jquery';\nimport { a, b, c } from 'test';\n\nexport default j('div');\nexport { a, b, c, file, abc, not };\n"],"names":["a","b","c","j"],"mappings":";;AAAA,UAAe,KAAf;ACAA,MAAMA,CAAC,GAAG,IAAI,CAAd;AACA,WAAe;AACbA,EAAAA;AADa,CAAf;ACDY,MAACA,GAAC,GAAG,GAAL;AACA,MAACC,CAAC,GAAG,GAAL;AACA,MAACC,CAAC,GAAG,GAAL;ACIZ,YAAeC,CAAC,CAAC,KAAD,CAAhB;;"} \ No newline at end of file diff --git a/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.esm.min.js b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.esm.min.js new file mode 100644 index 0000000..cc114f4 --- /dev/null +++ b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.esm.min.js @@ -0,0 +1 @@ +export{default as not}from"dir/not.png";import a from"jquery";var r="abc";var o={a:2};const t="a",e="b",p="c";var d=a("div");export default d;export{t as a,r as abc,e as b,p as c,o as file}; \ No newline at end of file diff --git a/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.js b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.js new file mode 100644 index 0000000..63609b4 --- /dev/null +++ b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.js @@ -0,0 +1,24 @@ +var OverlayScrollbars = function (exports, not_png, j) { + 'use strict'; + + not_png = not_png && Object.prototype.hasOwnProperty.call(not_png, 'default') ? not_png['default'] : not_png; + j = j && Object.prototype.hasOwnProperty.call(j, 'default') ? j['default'] : j; + var abc = 'abc'; + var a = 1 + 1; + var file = { + a: a + }; + var a$1 = 'a'; + var b = 'b'; + var c = 'c'; + var index = j('div'); + exports.not = not_png; + exports.a = a$1; + exports.abc = abc; + exports.b = b; + exports.c = c; + exports.default = index; + exports.file = file; + return exports; +}({}, not_png, jQuery); +//# sourceMappingURL=overlayscrollbars-jquery.js.map diff --git a/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.js.map b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.js.map new file mode 100644 index 0000000..9184e45 --- /dev/null +++ b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.js.map @@ -0,0 +1 @@ +{"version":3,"file":"overlayscrollbars-jquery.js","sources":["../src/dir/abc.js","../src/file.js","../src/test.js","../src/index.js"],"sourcesContent":["export default 'abc';\n","const a = 1 + 1;\nexport default {\n a,\n};\n","export const a = 'a';\nexport const b = 'b';\nexport const c = 'c';\n","import abc from 'dir/abc';\nimport not from 'dir/not.png';\nimport file from 'file';\nimport j from 'jquery';\nimport { a, b, c } from 'test';\n\nexport default j('div');\nexport { a, b, c, file, abc, not };\n"],"names":["a","b","c","j"],"mappings":";;;;;YAAe;ACAf,MAAMA,CAAC,GAAG,IAAI,CAAd;aACe;AACbA,IAAAA,CAAC,EAADA;AADa;MCDFA,GAAC,GAAG;MACJC,CAAC,GAAG;MACJC,CAAC,GAAG;cCIFC,CAAC,CAAC,KAAD;;;;;;;;;"} \ No newline at end of file diff --git a/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.min.js b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.min.js new file mode 100644 index 0000000..c922b20 --- /dev/null +++ b/packages/overlayscrollbars-jquery/dist/overlayscrollbars-jquery.min.js @@ -0,0 +1 @@ +var OverlayScrollbars=function(t,a,e){"use strict";a=a&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a;var r={a:2},l=(e=e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e)("div");return t.not=a,t.a="a",t.abc="abc",t.b="b",t.c="c",t.default=l,t.file=r,t}({},not_png,jQuery); \ No newline at end of file diff --git a/packages/overlayscrollbars-jquery/index.js b/packages/overlayscrollbars-jquery/index.js new file mode 100644 index 0000000..e69de29 diff --git a/packages/overlayscrollbars-jquery/package-lock.json b/packages/overlayscrollbars-jquery/package-lock.json new file mode 100644 index 0000000..34dfa26 --- /dev/null +++ b/packages/overlayscrollbars-jquery/package-lock.json @@ -0,0 +1,27 @@ +{ + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/jquery": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.0.tgz", + "integrity": "sha512-C7qQUjpMWDUNYQRTXsP5nbYYwCwwgy84yPgoTT7fPN69NH92wLeCtFaMsWeolJD1AF/6uQw3pYt62rzv83sMmw==", + "dev": true, + "requires": { + "@types/sizzle": "*" + } + }, + "@types/sizzle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz", + "integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==", + "dev": true + }, + "jquery": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", + "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" + } + } +} diff --git a/packages/overlayscrollbars-jquery/package.json b/packages/overlayscrollbars-jquery/package.json new file mode 100644 index 0000000..b4b3b0f --- /dev/null +++ b/packages/overlayscrollbars-jquery/package.json @@ -0,0 +1,11 @@ +{ + "private": true, + "description": "OverlayScrollbars version 2", + "version": "0.0.1", + "peerDependencies": { + "jquery": "^3.5.1" + }, + "devDependencies": { + "@types/jquery": "^3.5.0" + } +} diff --git a/packages/overlayscrollbars-jquery/src/dir/abc.js b/packages/overlayscrollbars-jquery/src/dir/abc.js new file mode 100644 index 0000000..345a0e2 --- /dev/null +++ b/packages/overlayscrollbars-jquery/src/dir/abc.js @@ -0,0 +1 @@ +export default 'abc'; diff --git a/packages/overlayscrollbars-jquery/src/file.js b/packages/overlayscrollbars-jquery/src/file.js new file mode 100644 index 0000000..46f2167 --- /dev/null +++ b/packages/overlayscrollbars-jquery/src/file.js @@ -0,0 +1,4 @@ +const a = 1 + 1; +export default { + a, +}; diff --git a/packages/overlayscrollbars-jquery/src/index.js b/packages/overlayscrollbars-jquery/src/index.js new file mode 100644 index 0000000..723c4a0 --- /dev/null +++ b/packages/overlayscrollbars-jquery/src/index.js @@ -0,0 +1,8 @@ +import abc from 'dir/abc'; +import not from 'dir/not.png'; +import file from 'file'; +import j from 'jquery'; +import { a, b, c } from 'test'; + +export default j('div'); +export { a, b, c, file, abc, not }; diff --git a/packages/overlayscrollbars-jquery/src/test.js b/packages/overlayscrollbars-jquery/src/test.js new file mode 100644 index 0000000..87a9877 --- /dev/null +++ b/packages/overlayscrollbars-jquery/src/test.js @@ -0,0 +1,3 @@ +export const a = 'a'; +export const b = 'b'; +export const c = 'c'; diff --git a/packages/overlayscrollbars/build.config.json b/packages/overlayscrollbars/build.config.json index d12ce02..6f292ff 100644 --- a/packages/overlayscrollbars/build.config.json +++ b/packages/overlayscrollbars/build.config.json @@ -1,10 +1,9 @@ { - "minVersions": true, - "umd": { + "legacy": { "name": "OverlayScrollbars", + "exports": "auto", "globals": { "jquery": "jQuery" } - }, - "esm": {} + } } diff --git a/packages/overlayscrollbars/dist/overlayscrollbars.esm.js b/packages/overlayscrollbars/dist/overlayscrollbars.esm.js new file mode 100644 index 0000000..8827213 --- /dev/null +++ b/packages/overlayscrollbars/dist/overlayscrollbars.esm.js @@ -0,0 +1,97 @@ +function isNumber(obj) { + return typeof obj === 'number'; +} + +function isFunction(obj) { + return typeof obj === 'function'; +} + +function isArray(obj) { + return Array.isArray(obj); +} + +function isArrayLike(obj) { + const length = !!obj && obj.length; + return isArray(obj) || !isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0; +} + +const keys = obj => Object.keys(obj); + +function each(source, callback) { + if (isArrayLike(source)) { + for (let i = 0; i < source.length; i++) { + if (callback(source[i], i, source) === false) { + break; + } + } + } else if (source) { + each(keys(source), key => callback(source[key], key, source)); + } + + return source; +} + +const contents = elm => elm ? Array.from(elm.childNodes) : []; + +const removeElements = nodes => { + if (isArrayLike(nodes)) { + each(Array.from(nodes), e => removeElements(e)); + } else if (nodes) { + const { + parentNode + } = nodes; + + if (parentNode) { + parentNode.removeChild(nodes); + } + } +}; + +const createDiv = () => document.createElement('div'); + +const createDOM = html => { + const createdDiv = createDiv(); + createdDiv.innerHTML = html.trim(); + return each(contents(createdDiv), elm => removeElements(elm)); +}; + +const abc = { + a: 1, + b: 1, + c: 1 +}; + +var index = () => { + const { + a, + b, + c + } = abc; + return [createDOM('\ +
\ +
\ +
\ +
\ +
\ + fdfhdfgh\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
'), a, b, c]; +}; + +const a = 1; +export default index; +export { a }; +//# sourceMappingURL=overlayscrollbars.esm.js.map diff --git a/packages/overlayscrollbars/dist/overlayscrollbars.esm.js.map b/packages/overlayscrollbars/dist/overlayscrollbars.esm.js.map new file mode 100644 index 0000000..7547473 --- /dev/null +++ b/packages/overlayscrollbars/dist/overlayscrollbars.esm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"overlayscrollbars.esm.js","sources":["../src/core/utils/types.ts","../src/core/utils/object.ts","../src/core/utils/array.ts","../src/core/dom/traversal.ts","../src/core/dom/manipulation.ts","../src/core/dom/create.ts","../src/index.ts"],"sourcesContent":["import { PlainObject } from 'core/typings';\n\nexport const type: (obj: any) => string = (obj) => {\n if (obj === undefined) return `${obj}`;\n if (obj === null) return `${obj}`;\n return Object.prototype.toString\n .call(obj)\n .replace(/^\\[object (.+)\\]$/, '$1')\n .toLowerCase();\n};\n\nexport function isNumber(obj: any): obj is number {\n return typeof obj === 'number';\n}\n\nexport function isString(obj: any): obj is string {\n return typeof obj === 'string';\n}\n\nexport function isBoolean(obj: any): obj is boolean {\n return typeof obj === 'boolean';\n}\n\nexport function isFunction(obj: any): obj is (...args: Array) => unknown {\n return typeof obj === 'function';\n}\n\nexport function isUndefined(obj: any): obj is undefined {\n return obj === undefined;\n}\n\nexport function isNull(obj: any): obj is null {\n return obj === null;\n}\n\nexport function isArray(obj: any): obj is Array {\n return Array.isArray(obj);\n}\n\nexport function isObject(obj: any): boolean {\n return typeof obj === 'object' && !isArray(obj) && !isNull(obj);\n}\n\n/**\n * Returns true if the given object is array like, false otherwise.\n * @param obj The Object\n */\nexport function isArrayLike(obj: any): obj is ArrayLike {\n const length = !!obj && obj.length;\n return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0); // eslint-disable-line eqeqeq\n}\n\n/**\n * Returns true if the given object is a \"plain\" (e.g. { key: value }) object, false otherwise.\n * @param obj The Object.\n */\nexport function isPlainObject(obj: any): obj is PlainObject {\n if (!obj || !isObject(obj) || type(obj) !== 'object') return false;\n\n let key;\n const proto = 'prototype';\n const { hasOwnProperty } = Object[proto];\n const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor');\n const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf');\n\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n return false;\n }\n\n /* eslint-disable no-restricted-syntax */\n for (key in obj) {\n /**/\n }\n /* eslint-enable */\n\n return isUndefined(key) || hasOwnProperty.call(obj, key);\n}\n\n/**\n * Checks whether the given object is a HTMLElement.\n * @param obj The object which shall be checked.\n */\nexport function isHTMLElement(obj: any): obj is HTMLElement {\n const instaceOfRightHandSide = window.HTMLElement;\n const doInstanceOf = isObject(instaceOfRightHandSide) || isFunction(instaceOfRightHandSide);\n return !!(doInstanceOf ? obj instanceof instaceOfRightHandSide : obj && isObject(obj) && obj.nodeType === 1 && isString(obj.nodeName));\n}\n\n/**\n * Returns true if the given object is empty, false otherwise.\n * @param obj The Object.\n */\nexport function isEmptyObject(obj: any): boolean {\n /* eslint-disable no-restricted-syntax, guard-for-in */\n for (const name in obj) return false;\n return true;\n /* eslint-enable */\n}\n","/**\r\n * Determines whether the passed object has a property with the passed name.\r\n * @param obj The object.\r\n * @param prop The name of the property.\r\n */\r\nexport const hasOwnProperty: (obj: any, prop: string | number | symbol) => boolean = (obj: any, prop: string | number | symbol) =>\r\n Object.prototype.hasOwnProperty.call(obj, prop);\r\n\r\n/**\r\n * Returns the names of the enumerable string properties and methods of an object.\r\n * @param obj The object of which the properties shall be returned.\r\n */\r\nexport const keys: (obj: any) => Array = (obj: any) => Object.keys(obj);\r\n","import { keys } from 'core/utils/object';\nimport { isArrayLike } from 'core/utils/types';\nimport { PlainObject } from 'core/typings';\n\n/**\n * Iterates through a array or object\n * @param arrayLikeOrObject The array or object through which shall be iterated.\n * @param callback The function which is responsible for the iteration.\n * If the function returns true its treated like a \"continue\" statement.\n * If the function returns false its treated like a \"break\" statement.\n */\nexport function each(\n array: Array | ReadonlyArray,\n callback: (value: T, indexOrKey: number, source: Array) => boolean | void,\n): Array | ReadonlyArray;\nexport function each(\n array: Array | ReadonlyArray | null,\n callback: (value: T, indexOrKey: number, source: Array) => boolean | void,\n): Array | ReadonlyArray | null;\nexport function each(\n arrayLikeObject: ArrayLike,\n callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void,\n): ArrayLike;\nexport function each(\n arrayLikeObject: ArrayLike | null,\n callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void,\n): ArrayLike | null;\nexport function each(obj: PlainObject, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject;\nexport function each(obj: PlainObject | null, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject | null;\nexport function each(\n source: ArrayLike | PlainObject | null,\n callback: (value: T | any, indexOrKey: any, source: any) => boolean | void,\n): Array | ReadonlyArray | ArrayLike | PlainObject | null {\n if (isArrayLike(source)) {\n for (let i = 0; i < source.length; i++) {\n if (callback(source[i], i, source) === false) {\n break;\n }\n }\n } else if (source) {\n each(keys(source), (key) => callback(source[key], key, source));\n }\n return source;\n}\n\n/**\n * Returns the index of the given inside the given array or -1 if the given item isn't part of the given array.\n * @param arr The array.\n * @param item The item.\n * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\n */\nexport const indexOf: (arr: Array, item: T, fromIndex?: number) => number = (arr, item, fromIndex) => arr.indexOf(item, fromIndex);\n","import { each } from 'core/utils/array';\n\nconst elementIsVisible: (elm: HTMLElement) => boolean = (elm) => !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length);\n\nexport const find: (selector: string, elm?: Element | null) => ReadonlyArray = (selector, elm?) => {\n const arr: Array = [];\n\n each((elm || document).querySelectorAll(selector), (e: Element) => {\n arr.push(e);\n });\n\n return arr;\n};\n\nexport const findFirst: (selector: string, elm?: Element | null) => Element | null = (selector, elm?) => (elm || document).querySelector(selector);\n\nexport const is: (elm: Element | null, selector: string) => boolean = (elm, selector) => {\n if (elm) {\n if (selector === ':visible') {\n return elementIsVisible(elm as HTMLElement);\n }\n if (selector === ':hidden') {\n return !elementIsVisible(elm as HTMLElement);\n }\n if (elm.matches(selector)) {\n return true;\n }\n }\n return false;\n};\n\nexport const children: (elm: Element | null, selector?: string) => ReadonlyArray = (elm, selector?) => {\n const childs: Array = [];\n\n each(elm && elm.children, (child: Element) => {\n if (selector) {\n if (child.matches(selector)) {\n childs.push(child);\n }\n } else {\n childs.push(child);\n }\n });\n\n return childs;\n};\n\nexport const contents: (elm: Element | null) => ReadonlyArray = (elm) => (elm ? Array.from(elm.childNodes) : []);\n\nexport const parent: (elm: Node | null) => Node | null = (elm) => (elm ? elm.parentElement : null);\n","import { isArrayLike } from 'core/utils/types';\nimport { each } from 'core/utils/array';\nimport { parent } from 'core/dom/traversal';\n\ntype NodeCollection = ArrayLike | Node | undefined | null;\n\n/**\n * Inserts Nodes before the given preferredAnchor element.\n * @param parentElm The parent of the preferredAnchor element or the element which shall be the parent of the inserted Nodes.\n * @param preferredAnchor The element before which the Nodes shall be inserted or null if the elements shall be appended at the end.\n * @param insertedElms The Nodes which shall be inserted.\n */\nconst before: (parentElm: Node | null, preferredAnchor: Node | null, insertedElms: NodeCollection) => void = (\n parentElm,\n preferredAnchor,\n insertedElms,\n) => {\n if (insertedElms) {\n let anchor: Node | null = preferredAnchor;\n let fragment: DocumentFragment | Node | undefined | null;\n\n // parent must be defined\n if (parentElm) {\n if (isArrayLike(insertedElms)) {\n fragment = document.createDocumentFragment();\n\n // append all insertedElms to the fragment and if one of these is the anchor, change the anchor\n each(insertedElms, (insertedElm) => {\n if (insertedElm === anchor) {\n anchor = insertedElm.previousSibling;\n }\n fragment!.appendChild(insertedElm);\n });\n } else {\n fragment = insertedElms;\n }\n\n // if the preferred anchor isn't null set it to a valid anchor\n if (preferredAnchor) {\n if (!anchor) {\n anchor = parentElm.firstChild;\n } else if (anchor !== preferredAnchor) {\n anchor = anchor.nextSibling;\n }\n }\n\n parentElm.insertBefore(fragment, anchor);\n }\n }\n};\n\n/**\n * Appends the given children at the end of the given Node.\n * @param node The Node to which the children shall be appended.\n * @param children The Nodes which shall be appended.\n */\nexport const appendChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => {\n before(node, null, children);\n};\n\n/**\n * Prepends the given children at the start of the given Node.\n * @param node The Node to which the children shall be prepended.\n * @param children The Nodes which shall be prepended.\n */\nexport const prependChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => {\n before(node, node && node.firstChild, children);\n};\n\n/**\n * Inserts the given Nodes before the given Node.\n * @param node The Node before which the given Nodes shall be inserted.\n * @param insertedNodes The Nodes which shall be inserted.\n */\nexport const insertBefore: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => {\n before(parent(node), node, insertedNodes);\n};\n\n/**\n * Inserts the given Nodes after the given Node.\n * @param node The Node after which the given Nodes shall be inserted.\n * @param insertedNodes The Nodes which shall be inserted.\n */\nexport const insertAfter: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => {\n before(parent(node), node && node.nextSibling, insertedNodes);\n};\n\n/**\n * Removes the given Nodes from their parent.\n * @param nodes The Nodes which shall be removed.\n */\nexport const removeElements: (nodes: NodeCollection) => void = (nodes) => {\n if (isArrayLike(nodes)) {\n each(Array.from(nodes), (e) => removeElements(e));\n } else if (nodes) {\n const { parentNode } = nodes;\n if (parentNode) {\n parentNode.removeChild(nodes);\n }\n }\n};\n","import { each } from 'core/utils/array';\nimport { contents } from 'core/dom/traversal';\nimport { removeElements } from 'core/dom/manipulation';\n\nexport const createDiv: () => HTMLDivElement = () => document.createElement('div');\n\nexport const createDOM: (html: string) => ReadonlyArray = (html) => {\n const createdDiv = createDiv();\n createdDiv.innerHTML = html.trim();\n\n return each(contents(createdDiv), (elm) => removeElements(elm));\n};\n","import { createDOM } from 'core/dom';\n\n/*\nexport * from 'core/compatibility';\nexport * from 'core/utils';\nexport * from 'core/dom';\nexport * from 'core/options';\nexport * from 'instances';\n*/\n\nconst abc = {\n a: 1,\n b: 1,\n c: 1,\n};\n\nexport default () => {\n const { a, b, c } = abc;\n return [\n createDOM(\n '\\\n
\\\n
\\\n
\\\n
\\\n
\\\n fdfhdfgh\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
',\n ),\n a,\n b,\n c,\n ];\n};\n\nexport const a = 1;\n"],"names":["isNumber","obj","isFunction","isArray","Array","isArrayLike","length","keys","Object","each","source","callback","i","key","contents","elm","from","childNodes","removeElements","nodes","e","parentNode","removeChild","createDiv","document","createElement","createDOM","html","createdDiv","innerHTML","trim","abc","a","b","c"],"mappings":"SAWgBA,SAASC;AACvB,SAAO,OAAOA,GAAP,KAAe,QAAtB;AACD;;SAUeC,WAAWD;AACzB,SAAO,OAAOA,GAAP,KAAe,UAAtB;AACD;;SAUeE,QAAQF;AACtB,SAAOG,KAAK,CAACD,OAAN,CAAcF,GAAd,CAAP;AACD;;SAUeI,YAAyCJ;AACvD,QAAMK,MAAM,GAAG,CAAC,CAACL,GAAF,IAASA,GAAG,CAACK,MAA5B;AACA,SAAOH,OAAO,CAACF,GAAD,CAAP,IAAiB,CAACC,UAAU,CAACD,GAAD,CAAX,IAAoBD,QAAQ,CAACM,MAAD,CAA5B,IAAwCA,MAAM,GAAG,CAAC,CAAlD,IAAuDA,MAAM,GAAG,CAAT,IAAc,CAA7F;;;ACrCK,MAAMC,IAAI,GAAiCN,GAAD,IAAcO,MAAM,CAACD,IAAP,CAAYN,GAAZ,CAAxD;;SCiBSQ,KACdC,QACAC;AAEA,MAAIN,WAAW,CAACK,MAAD,CAAf,EAAyB;AACvB,SAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,MAAM,CAACJ,MAA3B,EAAmCM,CAAC,EAApC,EAAwC;AACtC,UAAID,QAAQ,CAACD,MAAM,CAACE,CAAD,CAAP,EAAYA,CAAZ,EAAeF,MAAf,CAAR,KAAmC,KAAvC,EAA8C;AAC5C;AACD;AACF;AACF,GAND,MAMO,IAAIA,MAAJ,EAAY;AACjBD,IAAAA,IAAI,CAACF,IAAI,CAACG,MAAD,CAAL,EAAgBG,GAAD,IAASF,QAAQ,CAACD,MAAM,CAACG,GAAD,CAAP,EAAcA,GAAd,EAAmBH,MAAnB,CAAhC,CAAJ;AACD;;AACD,SAAOA,MAAP;;;ACKK,MAAMI,QAAQ,GAAuDC,GAAD,IAAUA,GAAG,GAAGX,KAAK,CAACY,IAAN,CAAsBD,GAAG,CAACE,UAA1B,CAAH,GAA2C,EAA5H;;AC4CA,MAAMC,cAAc,GAAqCC,KAAD;AAC7D,MAAId,WAAW,CAACc,KAAD,CAAf,EAAwB;AACtBV,IAAAA,IAAI,CAACL,KAAK,CAACY,IAAN,CAAWG,KAAX,CAAD,EAAqBC,CAAD,IAAOF,cAAc,CAACE,CAAD,CAAzC,CAAJ;AACD,GAFD,MAEO,IAAID,KAAJ,EAAW;AAChB,UAAM;AAAEE,MAAAA;AAAF,QAAiBF,KAAvB;;AACA,QAAIE,UAAJ,EAAgB;AACdA,MAAAA,UAAU,CAACC,WAAX,CAAuBH,KAAvB;AACD;AACF;AACF,CATM;;ACvFA,MAAMI,SAAS,GAAyB,MAAMC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAA9C;;AAEA,MAAMC,SAAS,GAA2CC,IAAD;AAC9D,QAAMC,UAAU,GAAGL,SAAS,EAA5B;AACAK,EAAAA,UAAU,CAACC,SAAX,GAAuBF,IAAI,CAACG,IAAL,EAAvB;AAEA,SAAOrB,IAAI,CAACK,QAAQ,CAACc,UAAD,CAAT,EAAwBb,GAAD,IAASG,cAAc,CAACH,GAAD,CAA9C,CAAX;AACD,CALM;;ACIP,MAAMgB,GAAG,GAAG;AACVC,EAAAA,CAAC,EAAE,CADO;AAEVC,EAAAA,CAAC,EAAE,CAFO;AAGVC,EAAAA,CAAC,EAAE;AAHO,CAAZ;;AAMA,YAAe;AACb,QAAM;AAAEF,IAAAA,CAAF;AAAKC,IAAAA,CAAL;AAAQC,IAAAA;AAAR,MAAcH,GAApB;AACA,SAAO,CACLL,SAAS,CACP;;;;;;;;;;;;;;;;;;;;;WADO,CADJ,EAyBLM,CAzBK,EA0BLC,CA1BK,EA2BLC,CA3BK,CAAP;AA6BD,CA/BD;;MAiCaF,CAAC,GAAG;;"} \ No newline at end of file diff --git a/packages/overlayscrollbars/dist/overlayscrollbars.esm.min.js b/packages/overlayscrollbars/dist/overlayscrollbars.esm.min.js new file mode 100644 index 0000000..525f80a --- /dev/null +++ b/packages/overlayscrollbars/dist/overlayscrollbars.esm.min.js @@ -0,0 +1 @@ +function r(r){const s=!!r&&r.length;return function(r){return Array.isArray(r)}(r)||!function(r){return"function"==typeof r}(r)&&function(r){return"number"==typeof r}(s)&&s>-1&&s%1==0}function s(o,c){if(r(o))for(let r=0;rc(o[r],r,o));var i;return o}const o=c=>{if(r(c))s(Array.from(c),r=>o(r));else if(c){const{parentNode:r}=c;r&&r.removeChild(c)}},c=r=>{const c=document.createElement("div");return c.innerHTML=r.trim(),s((i=c)?Array.from(i.childNodes):[],r=>o(r));var i},i={a:1,b:1,c:1};const e=1;export default()=>{const{a:r,b:s,c:o}=i;return[c('
fdfhdfgh
'),r,s,o]};export{e as a}; \ No newline at end of file diff --git a/packages/overlayscrollbars/dist/overlayscrollbars.js b/packages/overlayscrollbars/dist/overlayscrollbars.js new file mode 100644 index 0000000..7e0bf90 --- /dev/null +++ b/packages/overlayscrollbars/dist/overlayscrollbars.js @@ -0,0 +1,110 @@ +var OverlayScrollbars = function (exports) { + 'use strict'; + + function isNumber(obj) { + return typeof obj === 'number'; + } + + function isFunction(obj) { + return typeof obj === 'function'; + } + + function isArray(obj) { + return Array.isArray(obj); + } + + function isArrayLike(obj) { + var length = !!obj && obj.length; + return isArray(obj) || !isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0; + } + + var keys = function keys(obj) { + return Object.keys(obj); + }; + + function each(source, callback) { + if (isArrayLike(source)) { + for (var i = 0; i < source.length; i++) { + if (callback(source[i], i, source) === false) { + break; + } + } + } else if (source) { + each(keys(source), function (key) { + return callback(source[key], key, source); + }); + } + + return source; + } + + var contents = function contents(elm) { + return elm ? Array.from(elm.childNodes) : []; + }; + + var removeElements = function removeElements(nodes) { + if (isArrayLike(nodes)) { + each(Array.from(nodes), function (e) { + return removeElements(e); + }); + } else if (nodes) { + var parentNode = nodes.parentNode; + + if (parentNode) { + parentNode.removeChild(nodes); + } + } + }; + + var createDiv = function createDiv() { + return document.createElement('div'); + }; + + var createDOM = function createDOM(html) { + var createdDiv = createDiv(); + createdDiv.innerHTML = html.trim(); + return each(contents(createdDiv), function (elm) { + return removeElements(elm); + }); + }; + + var abc = { + a: 1, + b: 1, + c: 1 + }; + + var index = function index() { + var a = abc.a, + b = abc.b, + c = abc.c; + return [createDOM('\ +
\ +
\ +
\ +
\ +
\ + fdfhdfgh\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
\ +
'), a, b, c]; + }; + + var a = 1; + exports.a = a; + exports.default = index; + return exports; +}({}); +//# sourceMappingURL=overlayscrollbars.js.map diff --git a/packages/overlayscrollbars/dist/overlayscrollbars.js.map b/packages/overlayscrollbars/dist/overlayscrollbars.js.map new file mode 100644 index 0000000..2afa3f6 --- /dev/null +++ b/packages/overlayscrollbars/dist/overlayscrollbars.js.map @@ -0,0 +1 @@ +{"version":3,"file":"overlayscrollbars.js","sources":["../src/core/utils/types.ts","../src/core/utils/object.ts","../src/core/utils/array.ts","../src/core/dom/traversal.ts","../src/core/dom/manipulation.ts","../src/core/dom/create.ts","../src/index.ts"],"sourcesContent":["import { PlainObject } from 'core/typings';\n\nexport const type: (obj: any) => string = (obj) => {\n if (obj === undefined) return `${obj}`;\n if (obj === null) return `${obj}`;\n return Object.prototype.toString\n .call(obj)\n .replace(/^\\[object (.+)\\]$/, '$1')\n .toLowerCase();\n};\n\nexport function isNumber(obj: any): obj is number {\n return typeof obj === 'number';\n}\n\nexport function isString(obj: any): obj is string {\n return typeof obj === 'string';\n}\n\nexport function isBoolean(obj: any): obj is boolean {\n return typeof obj === 'boolean';\n}\n\nexport function isFunction(obj: any): obj is (...args: Array) => unknown {\n return typeof obj === 'function';\n}\n\nexport function isUndefined(obj: any): obj is undefined {\n return obj === undefined;\n}\n\nexport function isNull(obj: any): obj is null {\n return obj === null;\n}\n\nexport function isArray(obj: any): obj is Array {\n return Array.isArray(obj);\n}\n\nexport function isObject(obj: any): boolean {\n return typeof obj === 'object' && !isArray(obj) && !isNull(obj);\n}\n\n/**\n * Returns true if the given object is array like, false otherwise.\n * @param obj The Object\n */\nexport function isArrayLike(obj: any): obj is ArrayLike {\n const length = !!obj && obj.length;\n return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0); // eslint-disable-line eqeqeq\n}\n\n/**\n * Returns true if the given object is a \"plain\" (e.g. { key: value }) object, false otherwise.\n * @param obj The Object.\n */\nexport function isPlainObject(obj: any): obj is PlainObject {\n if (!obj || !isObject(obj) || type(obj) !== 'object') return false;\n\n let key;\n const proto = 'prototype';\n const { hasOwnProperty } = Object[proto];\n const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor');\n const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf');\n\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n return false;\n }\n\n /* eslint-disable no-restricted-syntax */\n for (key in obj) {\n /**/\n }\n /* eslint-enable */\n\n return isUndefined(key) || hasOwnProperty.call(obj, key);\n}\n\n/**\n * Checks whether the given object is a HTMLElement.\n * @param obj The object which shall be checked.\n */\nexport function isHTMLElement(obj: any): obj is HTMLElement {\n const instaceOfRightHandSide = window.HTMLElement;\n const doInstanceOf = isObject(instaceOfRightHandSide) || isFunction(instaceOfRightHandSide);\n return !!(doInstanceOf ? obj instanceof instaceOfRightHandSide : obj && isObject(obj) && obj.nodeType === 1 && isString(obj.nodeName));\n}\n\n/**\n * Returns true if the given object is empty, false otherwise.\n * @param obj The Object.\n */\nexport function isEmptyObject(obj: any): boolean {\n /* eslint-disable no-restricted-syntax, guard-for-in */\n for (const name in obj) return false;\n return true;\n /* eslint-enable */\n}\n","/**\r\n * Determines whether the passed object has a property with the passed name.\r\n * @param obj The object.\r\n * @param prop The name of the property.\r\n */\r\nexport const hasOwnProperty: (obj: any, prop: string | number | symbol) => boolean = (obj: any, prop: string | number | symbol) =>\r\n Object.prototype.hasOwnProperty.call(obj, prop);\r\n\r\n/**\r\n * Returns the names of the enumerable string properties and methods of an object.\r\n * @param obj The object of which the properties shall be returned.\r\n */\r\nexport const keys: (obj: any) => Array = (obj: any) => Object.keys(obj);\r\n","import { keys } from 'core/utils/object';\nimport { isArrayLike } from 'core/utils/types';\nimport { PlainObject } from 'core/typings';\n\n/**\n * Iterates through a array or object\n * @param arrayLikeOrObject The array or object through which shall be iterated.\n * @param callback The function which is responsible for the iteration.\n * If the function returns true its treated like a \"continue\" statement.\n * If the function returns false its treated like a \"break\" statement.\n */\nexport function each(\n array: Array | ReadonlyArray,\n callback: (value: T, indexOrKey: number, source: Array) => boolean | void,\n): Array | ReadonlyArray;\nexport function each(\n array: Array | ReadonlyArray | null,\n callback: (value: T, indexOrKey: number, source: Array) => boolean | void,\n): Array | ReadonlyArray | null;\nexport function each(\n arrayLikeObject: ArrayLike,\n callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void,\n): ArrayLike;\nexport function each(\n arrayLikeObject: ArrayLike | null,\n callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void,\n): ArrayLike | null;\nexport function each(obj: PlainObject, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject;\nexport function each(obj: PlainObject | null, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject | null;\nexport function each(\n source: ArrayLike | PlainObject | null,\n callback: (value: T | any, indexOrKey: any, source: any) => boolean | void,\n): Array | ReadonlyArray | ArrayLike | PlainObject | null {\n if (isArrayLike(source)) {\n for (let i = 0; i < source.length; i++) {\n if (callback(source[i], i, source) === false) {\n break;\n }\n }\n } else if (source) {\n each(keys(source), (key) => callback(source[key], key, source));\n }\n return source;\n}\n\n/**\n * Returns the index of the given inside the given array or -1 if the given item isn't part of the given array.\n * @param arr The array.\n * @param item The item.\n * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\n */\nexport const indexOf: (arr: Array, item: T, fromIndex?: number) => number = (arr, item, fromIndex) => arr.indexOf(item, fromIndex);\n","import { each } from 'core/utils/array';\n\nconst elementIsVisible: (elm: HTMLElement) => boolean = (elm) => !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length);\n\nexport const find: (selector: string, elm?: Element | null) => ReadonlyArray = (selector, elm?) => {\n const arr: Array = [];\n\n each((elm || document).querySelectorAll(selector), (e: Element) => {\n arr.push(e);\n });\n\n return arr;\n};\n\nexport const findFirst: (selector: string, elm?: Element | null) => Element | null = (selector, elm?) => (elm || document).querySelector(selector);\n\nexport const is: (elm: Element | null, selector: string) => boolean = (elm, selector) => {\n if (elm) {\n if (selector === ':visible') {\n return elementIsVisible(elm as HTMLElement);\n }\n if (selector === ':hidden') {\n return !elementIsVisible(elm as HTMLElement);\n }\n if (elm.matches(selector)) {\n return true;\n }\n }\n return false;\n};\n\nexport const children: (elm: Element | null, selector?: string) => ReadonlyArray = (elm, selector?) => {\n const childs: Array = [];\n\n each(elm && elm.children, (child: Element) => {\n if (selector) {\n if (child.matches(selector)) {\n childs.push(child);\n }\n } else {\n childs.push(child);\n }\n });\n\n return childs;\n};\n\nexport const contents: (elm: Element | null) => ReadonlyArray = (elm) => (elm ? Array.from(elm.childNodes) : []);\n\nexport const parent: (elm: Node | null) => Node | null = (elm) => (elm ? elm.parentElement : null);\n","import { isArrayLike } from 'core/utils/types';\nimport { each } from 'core/utils/array';\nimport { parent } from 'core/dom/traversal';\n\ntype NodeCollection = ArrayLike | Node | undefined | null;\n\n/**\n * Inserts Nodes before the given preferredAnchor element.\n * @param parentElm The parent of the preferredAnchor element or the element which shall be the parent of the inserted Nodes.\n * @param preferredAnchor The element before which the Nodes shall be inserted or null if the elements shall be appended at the end.\n * @param insertedElms The Nodes which shall be inserted.\n */\nconst before: (parentElm: Node | null, preferredAnchor: Node | null, insertedElms: NodeCollection) => void = (\n parentElm,\n preferredAnchor,\n insertedElms,\n) => {\n if (insertedElms) {\n let anchor: Node | null = preferredAnchor;\n let fragment: DocumentFragment | Node | undefined | null;\n\n // parent must be defined\n if (parentElm) {\n if (isArrayLike(insertedElms)) {\n fragment = document.createDocumentFragment();\n\n // append all insertedElms to the fragment and if one of these is the anchor, change the anchor\n each(insertedElms, (insertedElm) => {\n if (insertedElm === anchor) {\n anchor = insertedElm.previousSibling;\n }\n fragment!.appendChild(insertedElm);\n });\n } else {\n fragment = insertedElms;\n }\n\n // if the preferred anchor isn't null set it to a valid anchor\n if (preferredAnchor) {\n if (!anchor) {\n anchor = parentElm.firstChild;\n } else if (anchor !== preferredAnchor) {\n anchor = anchor.nextSibling;\n }\n }\n\n parentElm.insertBefore(fragment, anchor);\n }\n }\n};\n\n/**\n * Appends the given children at the end of the given Node.\n * @param node The Node to which the children shall be appended.\n * @param children The Nodes which shall be appended.\n */\nexport const appendChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => {\n before(node, null, children);\n};\n\n/**\n * Prepends the given children at the start of the given Node.\n * @param node The Node to which the children shall be prepended.\n * @param children The Nodes which shall be prepended.\n */\nexport const prependChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => {\n before(node, node && node.firstChild, children);\n};\n\n/**\n * Inserts the given Nodes before the given Node.\n * @param node The Node before which the given Nodes shall be inserted.\n * @param insertedNodes The Nodes which shall be inserted.\n */\nexport const insertBefore: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => {\n before(parent(node), node, insertedNodes);\n};\n\n/**\n * Inserts the given Nodes after the given Node.\n * @param node The Node after which the given Nodes shall be inserted.\n * @param insertedNodes The Nodes which shall be inserted.\n */\nexport const insertAfter: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => {\n before(parent(node), node && node.nextSibling, insertedNodes);\n};\n\n/**\n * Removes the given Nodes from their parent.\n * @param nodes The Nodes which shall be removed.\n */\nexport const removeElements: (nodes: NodeCollection) => void = (nodes) => {\n if (isArrayLike(nodes)) {\n each(Array.from(nodes), (e) => removeElements(e));\n } else if (nodes) {\n const { parentNode } = nodes;\n if (parentNode) {\n parentNode.removeChild(nodes);\n }\n }\n};\n","import { each } from 'core/utils/array';\nimport { contents } from 'core/dom/traversal';\nimport { removeElements } from 'core/dom/manipulation';\n\nexport const createDiv: () => HTMLDivElement = () => document.createElement('div');\n\nexport const createDOM: (html: string) => ReadonlyArray = (html) => {\n const createdDiv = createDiv();\n createdDiv.innerHTML = html.trim();\n\n return each(contents(createdDiv), (elm) => removeElements(elm));\n};\n","import { createDOM } from 'core/dom';\n\n/*\nexport * from 'core/compatibility';\nexport * from 'core/utils';\nexport * from 'core/dom';\nexport * from 'core/options';\nexport * from 'instances';\n*/\n\nconst abc = {\n a: 1,\n b: 1,\n c: 1,\n};\n\nexport default () => {\n const { a, b, c } = abc;\n return [\n createDOM(\n '\\\n
\\\n
\\\n
\\\n
\\\n
\\\n fdfhdfgh\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
\\\n
',\n ),\n a,\n b,\n c,\n ];\n};\n\nexport const a = 1;\n"],"names":["isNumber","obj","isFunction","isArray","Array","isArrayLike","length","keys","Object","each","source","callback","i","key","contents","elm","from","childNodes","removeElements","nodes","e","parentNode","removeChild","createDiv","document","createElement","createDOM","html","createdDiv","innerHTML","trim","abc","a","b","c"],"mappings":";;;WAWgBA,SAASC;AACvB,WAAO,OAAOA,GAAP,KAAe,QAAtB;AACD;;WAUeC,WAAWD;AACzB,WAAO,OAAOA,GAAP,KAAe,UAAtB;AACD;;WAUeE,QAAQF;AACtB,WAAOG,KAAK,CAACD,OAAN,CAAcF,GAAd,CAAP;AACD;;WAUeI,YAAyCJ;AACvD,QAAMK,MAAM,GAAG,CAAC,CAACL,GAAF,IAASA,GAAG,CAACK,MAA5B;AACA,WAAOH,OAAO,CAACF,GAAD,CAAP,IAAiB,CAACC,UAAU,CAACD,GAAD,CAAX,IAAoBD,QAAQ,CAACM,MAAD,CAA5B,IAAwCA,MAAM,GAAG,CAAC,CAAlD,IAAuDA,MAAM,GAAG,CAAT,IAAc,CAA7F;;;ACrCK,MAAMC,IAAI,GAAgC,SAApCA,IAAoC,CAACN,GAAD;AAAA,WAAcO,MAAM,CAACD,IAAP,CAAYN,GAAZ,CAAd;AAAA,GAA1C;;WCiBSQ,KACdC,QACAC;AAEA,QAAIN,WAAW,CAACK,MAAD,CAAf,EAAyB;AACvB,WAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,MAAM,CAACJ,MAA3B,EAAmCM,CAAC,EAApC,EAAwC;AACtC,YAAID,QAAQ,CAACD,MAAM,CAACE,CAAD,CAAP,EAAYA,CAAZ,EAAeF,MAAf,CAAR,KAAmC,KAAvC,EAA8C;AAC5C;AACD;AACF;AACF,KAND,MAMO,IAAIA,MAAJ,EAAY;AACjBD,MAAAA,IAAI,CAACF,IAAI,CAACG,MAAD,CAAL,EAAe,UAACG,GAAD;AAAA,eAASF,QAAQ,CAACD,MAAM,CAACG,GAAD,CAAP,EAAcA,GAAd,EAAmBH,MAAnB,CAAjB;AAAA,OAAf,CAAJ;AACD;;AACD,WAAOA,MAAP;;;ACKK,MAAMI,QAAQ,GAAsD,SAA9DA,QAA8D,CAACC,GAAD;AAAA,WAAUA,GAAG,GAAGX,KAAK,CAACY,IAAN,CAAsBD,GAAG,CAACE,UAA1B,CAAH,GAA2C,EAAxD;AAAA,GAApE;;AC4CA,MAAMC,cAAc,GAAoC,SAAlDA,cAAkD,CAACC,KAAD;AAC7D,QAAId,WAAW,CAACc,KAAD,CAAf,EAAwB;AACtBV,MAAAA,IAAI,CAACL,KAAK,CAACY,IAAN,CAAWG,KAAX,CAAD,EAAoB,UAACC,CAAD;AAAA,eAAOF,cAAc,CAACE,CAAD,CAArB;AAAA,OAApB,CAAJ;AACD,KAFD,MAEO,IAAID,KAAJ,EAAW;AAAA,UACRE,UADQ,GACOF,KADP,CACRE,UADQ;;AAEhB,UAAIA,UAAJ,EAAgB;AACdA,QAAAA,UAAU,CAACC,WAAX,CAAuBH,KAAvB;AACD;AACF;AACF,GATM;;ACvFA,MAAMI,SAAS,GAAyB,SAAlCA,SAAkC;AAAA,WAAMC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAN;AAAA,GAAxC;;AAEA,MAAMC,SAAS,GAA0C,SAAnDA,SAAmD,CAACC,IAAD;AAC9D,QAAMC,UAAU,GAAGL,SAAS,EAA5B;AACAK,IAAAA,UAAU,CAACC,SAAX,GAAuBF,IAAI,CAACG,IAAL,EAAvB;AAEA,WAAOrB,IAAI,CAACK,QAAQ,CAACc,UAAD,CAAT,EAAuB,UAACb,GAAD;AAAA,aAASG,cAAc,CAACH,GAAD,CAAvB;AAAA,KAAvB,CAAX;AACD,GALM;;ACIP,MAAMgB,GAAG,GAAG;AACVC,IAAAA,CAAC,EAAE,CADO;AAEVC,IAAAA,CAAC,EAAE,CAFO;AAGVC,IAAAA,CAAC,EAAE;AAHO,GAAZ;;cAMe,cAAA;QACLF,IAAYD,IAAZC;QAAGC,IAASF,IAATE;QAAGC,IAAMH,IAANG;AACd,WAAO,CACLR,SAAS,CACP;;;;;;;;;;;;;;;;;;;;;WADO,CADJ,EAyBLM,CAzBK,EA0BLC,CA1BK,EA2BLC,CA3BK,CAAP;AA6BD;;MAEYF,CAAC,GAAG;;;;"} \ No newline at end of file diff --git a/packages/overlayscrollbars/dist/overlayscrollbars.min.js b/packages/overlayscrollbars/dist/overlayscrollbars.min.js new file mode 100644 index 0000000..e44fa07 --- /dev/null +++ b/packages/overlayscrollbars/dist/overlayscrollbars.min.js @@ -0,0 +1 @@ +var OverlayScrollbars=function(r){"use strict";function s(r){var s=!!r&&r.length;return function(r){return Array.isArray(r)}(r)||!function(r){return"function"==typeof r}(r)&&function(r){return"number"==typeof r}(s)&&s>-1&&s%1==0}function o(r,i){if(s(r))for(var n=0;n
fdfhdfgh
'),r,s,o]},r}({}); \ No newline at end of file diff --git a/packages/overlayscrollbars/index.html b/packages/overlayscrollbars/index.html index b68f357..5344e60 100644 --- a/packages/overlayscrollbars/index.html +++ b/packages/overlayscrollbars/index.html @@ -1,16 +1,14 @@ - - + Server Syncing API - + - +
hi
- - - \ No newline at end of file + + diff --git a/packages/overlayscrollbars/package-lock.json b/packages/overlayscrollbars/package-lock.json index c87cfd6..34c6e11 100644 --- a/packages/overlayscrollbars/package-lock.json +++ b/packages/overlayscrollbars/package-lock.json @@ -1,22 +1,22 @@ { - "version": "0.0.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/jquery": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.0.tgz", - "integrity": "sha512-C7qQUjpMWDUNYQRTXsP5nbYYwCwwgy84yPgoTT7fPN69NH92wLeCtFaMsWeolJD1AF/6uQw3pYt62rzv83sMmw==", - "dev": true, - "requires": { - "@types/sizzle": "*" - } - }, - "@types/sizzle": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz", - "integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==", - "dev": true - } + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/jquery": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.0.tgz", + "integrity": "sha512-C7qQUjpMWDUNYQRTXsP5nbYYwCwwgy84yPgoTT7fPN69NH92wLeCtFaMsWeolJD1AF/6uQw3pYt62rzv83sMmw==", + "dev": true, + "requires": { + "@types/sizzle": "*" + } + }, + "@types/sizzle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz", + "integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==", + "dev": true } + } } diff --git a/packages/overlayscrollbars/package.json b/packages/overlayscrollbars/package.json index 635627b..62f7333 100644 --- a/packages/overlayscrollbars/package.json +++ b/packages/overlayscrollbars/package.json @@ -1,11 +1,5 @@ { - "private": true, - "description": "OverlayScrollbars version 2", - "version": "0.0.1", - "peerDependencies": { - "jquery": "^3.5.1" - }, - "devDependencies": { - "@types/jquery": "^3.5.0" - } + "private": true, + "description": "OverlayScrollbars version 2", + "version": "0.0.1" } diff --git a/packages/overlayscrollbars/src/core/compatibility/apis.ts b/packages/overlayscrollbars/src/core/compatibility/apis.ts index 7caabc1..a624940 100644 --- a/packages/overlayscrollbars/src/core/compatibility/apis.ts +++ b/packages/overlayscrollbars/src/core/compatibility/apis.ts @@ -1,3 +1,3 @@ import { jsAPI } from 'core/compatibility/vendors'; -export const resizeObserver: any | undefined = jsAPI('ResizeObserver'); \ No newline at end of file +export const resizeObserver: any | undefined = jsAPI('ResizeObserver'); diff --git a/packages/overlayscrollbars/src/core/compatibility/events.ts b/packages/overlayscrollbars/src/core/compatibility/events.ts index 5b5170d..e5dbc20 100644 --- a/packages/overlayscrollbars/src/core/compatibility/events.ts +++ b/packages/overlayscrollbars/src/core/compatibility/events.ts @@ -1,7 +1,7 @@ export const mouseButton: (event: MouseEvent) => number = (event) => { - const button: number = event.button; - if (!event.which && button !== undefined) - return (button & 1 ? 1 : (button & 2 ? 3 : (button & 4 ? 2 : 0))); - else - return event.which; -} + const { button } = event; + if (!event.which && button !== undefined) { + return button & 1 ? 1 : button & 2 ? 3 : button & 4 ? 2 : 0; // eslint-disable-line no-bitwise + } + return event.which; +}; diff --git a/packages/overlayscrollbars/src/core/compatibility/index.ts b/packages/overlayscrollbars/src/core/compatibility/index.ts index 2957765..3b8d5e2 100644 --- a/packages/overlayscrollbars/src/core/compatibility/index.ts +++ b/packages/overlayscrollbars/src/core/compatibility/index.ts @@ -1,4 +1,3 @@ export * from 'core/compatibility/vendors'; export * from 'core/compatibility/apis'; export * from 'core/compatibility/events'; - diff --git a/packages/overlayscrollbars/src/core/compatibility/vendors.ts b/packages/overlayscrollbars/src/core/compatibility/vendors.ts index 538a469..33cfde4 100644 --- a/packages/overlayscrollbars/src/core/compatibility/vendors.ts +++ b/packages/overlayscrollbars/src/core/compatibility/vendors.ts @@ -1,14 +1,10 @@ -import { each } from 'core/utils'; +import { each, hasOwnProperty } from 'core/utils'; import { createDiv } from 'core/dom'; -const firstLetterToUpper: (str: string) => string = (str) => { - return str.charAt(0).toUpperCase() + str.slice(1); -} -const getDummyStyle: () => CSSStyleDeclaration = () => { - return createDiv().style; -} +const firstLetterToUpper: (str: string) => string = (str) => str.charAt(0).toUpperCase() + str.slice(1); +const getDummyStyle: () => CSSStyleDeclaration = () => createDiv().style; -//https://developer.mozilla.org/en-US/docs/Glossary/Vendor_Prefix +// https://developer.mozilla.org/en-US/docs/Glossary/Vendor_Prefix export const cssPrefixes: ReadonlyArray = ['-webkit-', '-moz-', '-o-', '-ms-']; export const jsPrefixes: ReadonlyArray = ['WebKit', 'Moz', 'O', 'MS', 'webkit', 'moz', 'o', 'ms']; @@ -21,79 +17,82 @@ export const cssCache: { [key: string]: string } = {}; * @param name The name of the CSS property which shall be get. */ export const cssProperty: (name: string) => string | undefined = (name) => { - let result: string | undefined = cssCache[name]; + let result: string | undefined = cssCache[name]; - if (cssCache.hasOwnProperty(name)) - return result; - - const uppercasedName: string = firstLetterToUpper(name); - const elmStyle: CSSStyleDeclaration = getDummyStyle(); - - each(cssPrefixes, (prefix: string) => { - const prefixWithoutDashes: string = prefix.replace(/-/g, ''); - const resultPossibilities: Array = [ - name, //transition - prefix + name, //-webkit-transition - prefixWithoutDashes + uppercasedName, //webkitTransition - firstLetterToUpper(prefixWithoutDashes) + uppercasedName //WebkitTransition - ]; - result = resultPossibilities.find((resultPossibility: string) => elmStyle[resultPossibility] !== undefined); - return !result; - }); - - cssCache[name] = result; + if (hasOwnProperty(cssCache, name)) { return result; -} + } + + const uppercasedName: string = firstLetterToUpper(name); + const elmStyle: CSSStyleDeclaration = getDummyStyle(); + + each(cssPrefixes, (prefix: string) => { + const prefixWithoutDashes: string = prefix.replace(/-/g, ''); + const resultPossibilities: Array = [ + name, // transition + prefix + name, // -webkit-transition + prefixWithoutDashes + uppercasedName, // webkitTransition + firstLetterToUpper(prefixWithoutDashes) + uppercasedName, // WebkitTransition + ]; + result = resultPossibilities.find((resultPossibility: string) => elmStyle[resultPossibility] !== undefined); + return !result; + }); + + cssCache[name] = result; + return result; +}; /** - * Get the name of the given CSS property value(s), with vendor prefix if it isn't supported wuthout, or undefined if no value is supported. + * Get the name of the given CSS property value(s), with vendor prefix if it isn't supported wuthout, or undefined if no value is supported. * @param property The CSS property to which the CSS property value(s) belong. * @param values The value(s) separated by spaces which shall be get. * @param suffix A suffix which is added to each value in case the value is a function or something else more advanced. */ export const cssPropertyValue: (property: string, values: string, suffix?: string) => string | undefined = (property, values, suffix) => { - const name: string = property + ' ' + values; - let result: string | undefined = cssCache[name]; + const name = `${property} ${values}`; + let result: string | undefined = cssCache[name]; - if (cssCache.hasOwnProperty(name)) - return result; - - const dummyStyle: CSSStyleDeclaration = getDummyStyle(); - const possbleValues: Array = values.split(' '); - const preparedSuffix: string = suffix || ''; - const cssPrefixesWithFirstEmpty = [''].concat(cssPrefixes); - - each(possbleValues, (possibleValue: string) => { - each(cssPrefixesWithFirstEmpty, (prefix: string) => { - const prop = prefix + possibleValue; - dummyStyle.cssText = property + ':' + prop + preparedSuffix; - if (dummyStyle.length) { - result = prop; - return false; - } - }); - return !result; - }); - - cssCache[name] = result; + if (hasOwnProperty(cssCache, name)) { return result; -} + } + + const dummyStyle: CSSStyleDeclaration = getDummyStyle(); + const possbleValues: Array = values.split(' '); + const preparedSuffix: string = suffix || ''; + const cssPrefixesWithFirstEmpty = [''].concat(cssPrefixes); + + each(possbleValues, (possibleValue: string) => { + each(cssPrefixesWithFirstEmpty, (prefix: string) => { + const prop = prefix + possibleValue; + dummyStyle.cssText = `${property}:${prop}${preparedSuffix}`; + if (dummyStyle.length) { + result = prop; + return false; + } + }); + return !result; + }); + + cssCache[name] = result; + return result; +}; /** * Get the requested JS function, object or constructor with vendor prefix if it isn't supported without or undefined if unsupported. * @param name The name of the JS function, object or constructor. */ export const jsAPI: (name: string) => any = (name) => { - let result: any = jsCache[name] || window[name]; + let result: any = jsCache[name] || window[name]; - if (jsCache.hasOwnProperty(name)) - return result; - - each(jsPrefixes, (prefix: string) => { - result = result || window[prefix + firstLetterToUpper(name)]; - return !result; - }); - - jsCache[name] = result; + if (hasOwnProperty(jsCache, name)) { return result; -} + } + + each(jsPrefixes, (prefix: string) => { + result = result || window[prefix + firstLetterToUpper(name)]; + return !result; + }); + + jsCache[name] = result; + return result; +}; diff --git a/packages/overlayscrollbars/src/core/dom/attributes.ts b/packages/overlayscrollbars/src/core/dom/attribute.ts similarity index 81% rename from packages/overlayscrollbars/src/core/dom/attributes.ts rename to packages/overlayscrollbars/src/core/dom/attribute.ts index 6b345b2..47f3f72 100644 --- a/packages/overlayscrollbars/src/core/dom/attributes.ts +++ b/packages/overlayscrollbars/src/core/dom/attribute.ts @@ -6,10 +6,11 @@ * @param value The value of the attribute which shall be set. */ export const attr: (elm: Element, attrName: string, value?: string) => string | null | void = (elm, attrName, value) => { - if (value === undefined) - return elm.getAttribute(attrName); - elm.setAttribute(attrName, value); -} + if (value === undefined) { + return elm.getAttribute(attrName); + } + elm.setAttribute(attrName, value); +}; /** * Removes the given attribute from the given element. @@ -17,8 +18,8 @@ export const attr: (elm: Element, attrName: string, value?: string) => string | * @param attrName The attribute name. */ export const removeAttr: (elm: Element, attrName: string) => void = (elm, attrName) => { - elm.removeAttribute(attrName); -} + elm.removeAttribute(attrName); +}; /** * Gets or sets the scrollLeft value of the given element depending whether the value attribute is given. @@ -26,10 +27,11 @@ export const removeAttr: (elm: Element, attrName: string) => void = (elm, attrNa * @param value The scrollLeft value which shall be set. */ export const scrollLeft: (elm: HTMLElement, value?: number) => number | void = (elm, value) => { - if (value === undefined) - return elm.scrollLeft; - elm.scrollLeft = value; -} + if (value === undefined) { + return elm.scrollLeft; + } + elm.scrollLeft = value; +}; /** * Gets or sets the scrollTop value of the given element depending whether the value attribute is given. @@ -37,10 +39,11 @@ export const scrollLeft: (elm: HTMLElement, value?: number) => number | void = ( * @param value The scrollTop value which shall be set. */ export const scrollTop: (elm: HTMLElement, value?: number) => number | void = (elm, value) => { - if (value === undefined) - return elm.scrollTop; - elm.scrollTop = value; -} + if (value === undefined) { + return elm.scrollTop; + } + elm.scrollTop = value; +}; /** * Gets or sets the value of the given input element depending whether the value attribute is given. @@ -48,7 +51,8 @@ export const scrollTop: (elm: HTMLElement, value?: number) => number | void = (e * @param value The value which shall be set. */ export const val: (elm: HTMLInputElement, value?: string) => string | void = (elm, value) => { - if (value === undefined) - return elm.value; - elm.value = value; -} \ No newline at end of file + if (value === undefined) { + return elm.value; + } + elm.value = value; +}; diff --git a/packages/overlayscrollbars/src/core/dom/classes.ts b/packages/overlayscrollbars/src/core/dom/class.ts similarity index 63% rename from packages/overlayscrollbars/src/core/dom/classes.ts rename to packages/overlayscrollbars/src/core/dom/class.ts index f79c67f..d41524e 100644 --- a/packages/overlayscrollbars/src/core/dom/classes.ts +++ b/packages/overlayscrollbars/src/core/dom/class.ts @@ -1,15 +1,13 @@ import { isString } from 'core/utils/types'; -const rnothtmlwhite: RegExp = (/[^\x20\t\r\n\f]+/g); +const rnothtmlwhite = /[^\x20\t\r\n\f]+/g; /** * Check whether the given element has the given class name. * @param elm The element. * @param className The class name. */ -export const hasClass: (elm: Element, className: string) => boolean = (elm, className) => { - return elm.classList.contains(className); -} +export const hasClass: (elm: Element, className: string) => boolean = (elm, className) => elm.classList.contains(className); /** * Adds the given class name(s) to the given element. @@ -17,15 +15,16 @@ export const hasClass: (elm: Element, className: string) => boolean = (elm, clas * @param className The class name(s) which shall be added. (separated by spaces) */ export const addClass: (elm: Element, className: string) => void = (elm, className) => { - let clazz: string; - let i: number = 0; + let clazz: string; + let i = 0; - if (isString(className)) { - const classes: Array = className.match(rnothtmlwhite) || []; - while ((clazz = classes[i++])) - elm.classList.add(clazz); + if (isString(className)) { + const classes: Array = className.match(rnothtmlwhite) || []; + while ((clazz = classes[i++])) { + elm.classList.add(clazz); } -} + } +}; /** * Removes the given class name(s) from the given element. @@ -33,15 +32,16 @@ export const addClass: (elm: Element, className: string) => void = (elm, classNa * @param className The class name(s) which shall be removed. (separated by spaces) */ export const removeClass: (elm: Element, className: string) => void = (elm, className) => { - let clazz: string; - let i: number = 0; + let clazz: string; + let i = 0; - if (isString(className)) { - const classes: Array = className.match(rnothtmlwhite) || []; - while ((clazz = classes[i++])) - elm.classList.remove(clazz); + if (isString(className)) { + const classes: Array = className.match(rnothtmlwhite) || []; + while ((clazz = classes[i++])) { + elm.classList.remove(clazz); } -} + } +}; /** * Adds or removes the given class name(s) from the given element depending on the given condition. @@ -50,10 +50,9 @@ export const removeClass: (elm: Element, className: string) => void = (elm, clas * @param className The class name(s) which shall be added or removed. (separated by spaces) */ export const conditionalClass: (elm: Element, className: string, condition: boolean) => void = (elm, className, condition) => { - if (condition) { - addClass(elm, className); - } - else { - removeClass(elm, className); - } -} \ No newline at end of file + if (condition) { + addClass(elm, className); + } else { + removeClass(elm, className); + } +}; diff --git a/packages/overlayscrollbars/src/core/dom/create.ts b/packages/overlayscrollbars/src/core/dom/create.ts index 174594d..abb82ab 100644 --- a/packages/overlayscrollbars/src/core/dom/create.ts +++ b/packages/overlayscrollbars/src/core/dom/create.ts @@ -1,14 +1,12 @@ -import { each } from 'core/utils/arrays'; +import { each } from 'core/utils/array'; import { contents } from 'core/dom/traversal'; import { removeElements } from 'core/dom/manipulation'; -export const createDiv: () => HTMLDivElement = () => { - return document.createElement('div'); -} +export const createDiv: () => HTMLDivElement = () => document.createElement('div'); export const createDOM: (html: string) => ReadonlyArray = (html) => { - const elm = createDiv(); - elm.innerHTML = html.trim(); + const createdDiv = createDiv(); + createdDiv.innerHTML = html.trim(); - return each(contents(elm), (elm) => removeElements(elm)); -} \ No newline at end of file + return each(contents(createdDiv), (elm) => removeElements(elm)); +}; diff --git a/packages/overlayscrollbars/src/core/dom/index.ts b/packages/overlayscrollbars/src/core/dom/index.ts index ce6511d..e8eb32f 100644 --- a/packages/overlayscrollbars/src/core/dom/index.ts +++ b/packages/overlayscrollbars/src/core/dom/index.ts @@ -1,7 +1,7 @@ -export * from 'core/dom/attributes'; -export * from 'core/dom/classes'; +export * from 'core/dom/attribute'; +export * from 'core/dom/class'; export * from 'core/dom/create'; export * from 'core/dom/style'; export * from 'core/dom/manipulation'; export * from 'core/dom/offset'; -export * from 'core/dom/traversal'; \ No newline at end of file +export * from 'core/dom/traversal'; diff --git a/packages/overlayscrollbars/src/core/dom/manipulation.ts b/packages/overlayscrollbars/src/core/dom/manipulation.ts index 002f3be..37ab452 100644 --- a/packages/overlayscrollbars/src/core/dom/manipulation.ts +++ b/packages/overlayscrollbars/src/core/dom/manipulation.ts @@ -1,91 +1,101 @@ -import { isArrayLike, isHTMLElement } from 'core/utils/types'; -import { each } from 'core/utils/arrays'; +import { isArrayLike } from 'core/utils/types'; +import { each } from 'core/utils/array'; import { parent } from 'core/dom/traversal'; type NodeCollection = ArrayLike | Node | undefined | null; /** * Inserts Nodes before the given preferredAnchor element. - * @param parent The parent of the preferredAnchor element or the element which shall be the parent of the inserted Nodes. + * @param parentElm The parent of the preferredAnchor element or the element which shall be the parent of the inserted Nodes. * @param preferredAnchor The element before which the Nodes shall be inserted or null if the elements shall be appended at the end. * @param insertedElms The Nodes which shall be inserted. */ -const before: (parent: Node | null, preferredAnchor: Node | null, insertedElms: NodeCollection) => void = (parent, preferredAnchor, insertedElms) => { - if (insertedElms) { - let anchor: Node | null = preferredAnchor; - let fragment: DocumentFragment | Node | undefined | null; +const before: (parentElm: Node | null, preferredAnchor: Node | null, insertedElms: NodeCollection) => void = ( + parentElm, + preferredAnchor, + insertedElms, +) => { + if (insertedElms) { + let anchor: Node | null = preferredAnchor; + let fragment: DocumentFragment | Node | undefined | null; - // parent must be defined - if (parent) { - if (isArrayLike(insertedElms)) { - fragment = document.createDocumentFragment(); + // parent must be defined + if (parentElm) { + if (isArrayLike(insertedElms)) { + fragment = document.createDocumentFragment(); - // append all insertedElms to the fragment and if one of these is the anchor, change the anchor - each(insertedElms, (insertedElm) => { - if (insertedElm === anchor) { - anchor = insertedElm.previousSibling; - } - fragment!.appendChild(insertedElm); - }); - } - else { - fragment = insertedElms; - } + // append all insertedElms to the fragment and if one of these is the anchor, change the anchor + each(insertedElms, (insertedElm) => { + if (insertedElm === anchor) { + anchor = insertedElm.previousSibling; + } + fragment!.appendChild(insertedElm); + }); + } else { + fragment = insertedElms; + } - // if the preferred anchor isn't null set it to a valid anchor - if (preferredAnchor) { - if (!anchor) { - anchor = parent.firstChild; - } - else if (anchor !== preferredAnchor) { - anchor = anchor.nextSibling; - } - } - - parent.insertBefore(fragment, anchor); + // if the preferred anchor isn't null set it to a valid anchor + if (preferredAnchor) { + if (!anchor) { + anchor = parentElm.firstChild; + } else if (anchor !== preferredAnchor) { + anchor = anchor.nextSibling; } + } + + parentElm.insertBefore(fragment, anchor); } -} + } +}; /** * Appends the given children at the end of the given Node. * @param node The Node to which the children shall be appended. * @param children The Nodes which shall be appended. */ -export const appendChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { before(node, null, children) }; +export const appendChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { + before(node, null, children); +}; /** * Prepends the given children at the start of the given Node. * @param node The Node to which the children shall be prepended. * @param children The Nodes which shall be prepended. */ -export const prependChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { before(node, node && node.firstChild, children) }; +export const prependChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { + before(node, node && node.firstChild, children); +}; /** * Inserts the given Nodes before the given Node. * @param node The Node before which the given Nodes shall be inserted. * @param insertedNodes The Nodes which shall be inserted. */ -export const insertBefore: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { before(parent(node), node, insertedNodes) }; +export const insertBefore: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { + before(parent(node), node, insertedNodes); +}; /** * Inserts the given Nodes after the given Node. * @param node The Node after which the given Nodes shall be inserted. * @param insertedNodes The Nodes which shall be inserted. */ -export const insertAfter: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { before(parent(node), node && node.nextSibling, insertedNodes) }; +export const insertAfter: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { + before(parent(node), node && node.nextSibling, insertedNodes); +}; /** * Removes the given Nodes from their parent. * @param nodes The Nodes which shall be removed. */ export const removeElements: (nodes: NodeCollection) => void = (nodes) => { - if (isArrayLike(nodes)) { - each(Array.from(nodes), (e) => removeElements(e)); + if (isArrayLike(nodes)) { + each(Array.from(nodes), (e) => removeElements(e)); + } else if (nodes) { + const { parentNode } = nodes; + if (parentNode) { + parentNode.removeChild(nodes); } - else if (nodes) { - const parentNode = nodes.parentNode; - if (parentNode) - parentNode.removeChild(nodes); - } -} \ No newline at end of file + } +}; diff --git a/packages/overlayscrollbars/src/core/dom/offset.ts b/packages/overlayscrollbars/src/core/dom/offset.ts index 42bfbfc..b7dae8d 100644 --- a/packages/overlayscrollbars/src/core/dom/offset.ts +++ b/packages/overlayscrollbars/src/core/dom/offset.ts @@ -1,14 +1,12 @@ export const offset = (elm: HTMLElement) => { - const rect = elm.getBoundingClientRect(); - return { - top: rect.top + window.pageXOffset, - left: rect.left + window.pageYOffset - }; -} + const rect = elm.getBoundingClientRect(); + return { + top: rect.top + window.pageXOffset, + left: rect.left + window.pageYOffset, + }; +}; -export const position = (elm: HTMLElement) => { - return { - top: elm.offsetTop, - left: elm.offsetLeft - }; -} \ No newline at end of file +export const position = (elm: HTMLElement) => ({ + top: elm.offsetTop, + left: elm.offsetLeft, +}); diff --git a/packages/overlayscrollbars/src/core/dom/style.ts b/packages/overlayscrollbars/src/core/dom/style.ts index 7ec549b..4be18a5 100644 --- a/packages/overlayscrollbars/src/core/dom/style.ts +++ b/packages/overlayscrollbars/src/core/dom/style.ts @@ -1,62 +1,57 @@ +import { keys } from 'core/utils/object'; import { isString, isNumber, isUndefined } from 'core/utils/types'; type cssStyleObj = { [key: string]: string | number }; const cssNumber = { - animationIterationCount: true, - columnCount: true, - fillOpacity: true, - flexGrow: true, - flexShrink: true, - fontWeight: true, - lineHeight: true, - opacity: true, - order: true, - orphans: true, - widows: true, - zIndex: true, - zoom: true + animationIterationCount: true, + columnCount: true, + fillOpacity: true, + flexGrow: true, + flexShrink: true, + fontWeight: true, + lineHeight: true, + opacity: true, + order: true, + orphans: true, + widows: true, + zIndex: true, + zoom: true, }; -const setCSSVal: (elm: HTMLElement, prop: string, val: string | number) => void = (elm, prop, val) => { - try { - if (elm.style[prop] !== undefined) { - elm.style[prop] = parseCSSVal(prop, val); - } - } catch (e) { } -} +const parseCSSVal: (prop: string, val: string | number) => string | number = (prop, val) => + !cssNumber[prop.toLowerCase()] && isNumber(val) ? `${val}px` : val; -const parseCSSVal: (prop: string, val: string | number) => string | number = (prop, val) => { - return !cssNumber[prop.toLowerCase()] && isNumber(val) ? val + 'px' : val; -} +const setCSSVal: (elm: HTMLElement, prop: string, val: string | number) => void = (elm, prop, val) => { + try { + if (elm.style[prop] !== undefined) { + elm.style[prop] = parseCSSVal(prop, val); + } + } catch (e) {} +}; export function style(elm: HTMLElement, styles: string | cssStyleObj): string; export function style(elm: HTMLElement, styles: string | cssStyleObj, val: string | number): void; export function style(elm: HTMLElement, styles: string | cssStyleObj, val?: string | number): string | void { - const getCptStyle: Function = window.getComputedStyle; + const getCptStyle = window.getComputedStyle; - if (isString(styles)) { - if (isUndefined(val)) { - const cptStyle: CSSStyleDeclaration = getCptStyle(elm, null); + if (isString(styles)) { + if (isUndefined(val)) { + const cptStyle: CSSStyleDeclaration = getCptStyle(elm, null); - //https://bugzilla.mozilla.org/show_bug.cgi?id=548397 can be null sometimes if iframe with display: none (firefox only!) - return cptStyle != null ? cptStyle.getPropertyValue(styles) : elm.style[styles]; - } - else { - setCSSVal(elm, styles, val); - } - } - else { - for (const key in styles) - setCSSVal(elm, key, styles[key]); + // https://bugzilla.mozilla.org/show_bug.cgi?id=548397 can be null sometimes if iframe with display: none (firefox only!) + return cptStyle != null ? cptStyle.getPropertyValue(styles) : elm.style[styles]; } + setCSSVal(elm, styles, val); + } else { + keys(styles).forEach((key) => setCSSVal(elm, key, styles[key])); + } } export const hide: (elm: HTMLElement) => void = (elm) => { - elm.style.display = 'none'; -} + elm.style.display = 'none'; +}; export const show: (elm: HTMLElement) => void = (elm) => { - elm.style.display = 'block'; -} - + elm.style.display = 'block'; +}; diff --git a/packages/overlayscrollbars/src/core/dom/traversal.ts b/packages/overlayscrollbars/src/core/dom/traversal.ts index fe8d6ca..81c10a9 100644 --- a/packages/overlayscrollbars/src/core/dom/traversal.ts +++ b/packages/overlayscrollbars/src/core/dom/traversal.ts @@ -1,52 +1,50 @@ -import { each } from 'core/utils/arrays'; +import { each } from 'core/utils/array'; -const elementIsVisible: (elm: HTMLElement) => boolean = (elm) => { - return !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length); -} +const elementIsVisible: (elm: HTMLElement) => boolean = (elm) => !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length); export const find: (selector: string, elm?: Element | null) => ReadonlyArray = (selector, elm?) => { - const arr: Array = []; + const arr: Array = []; - each((elm || document).querySelectorAll(selector), (e: Element) => { - arr.push(e); - }); + each((elm || document).querySelectorAll(selector), (e: Element) => { + arr.push(e); + }); - return arr; -} + return arr; +}; -export const findFirst: (selector: string, elm?: Element | null) => Element | null = (selector, elm?) => { - return (elm || document).querySelector(selector); -} +export const findFirst: (selector: string, elm?: Element | null) => Element | null = (selector, elm?) => (elm || document).querySelector(selector); export const is: (elm: Element | null, selector: string) => boolean = (elm, selector) => { - if (elm) { - if (selector === ':visible') - return elementIsVisible(elm as HTMLElement); - if (selector === ':hidden') - return !elementIsVisible(elm as HTMLElement); - if (elm.matches(selector)) - return true; + if (elm) { + if (selector === ':visible') { + return elementIsVisible(elm as HTMLElement); } - return false; -} + if (selector === ':hidden') { + return !elementIsVisible(elm as HTMLElement); + } + if (elm.matches(selector)) { + return true; + } + } + return false; +}; export const children: (elm: Element | null, selector?: string) => ReadonlyArray = (elm, selector?) => { - const children: Array = []; + const childs: Array = []; - each(elm && elm.children, (child: Element) => { - if (selector) { - if (child.matches(selector)) - children.push(child); - } - else - children.push(child); - }); + each(elm && elm.children, (child: Element) => { + if (selector) { + if (child.matches(selector)) { + childs.push(child); + } + } else { + childs.push(child); + } + }); - return children; -} + return childs; +}; -export const contents: (elm: Element | null) => ReadonlyArray = (elm) => { - return elm ? Array.from(elm.childNodes) : []; -} +export const contents: (elm: Element | null) => ReadonlyArray = (elm) => (elm ? Array.from(elm.childNodes) : []); -export const parent: (elm: Node | null) => Node | null = (elm) => elm ? elm.parentElement : null; \ No newline at end of file +export const parent: (elm: Node | null) => Node | null = (elm) => (elm ? elm.parentElement : null); diff --git a/packages/overlayscrollbars/src/core/options/index.ts b/packages/overlayscrollbars/src/core/options/index.ts index 28eb4da..9bb9056 100644 --- a/packages/overlayscrollbars/src/core/options/index.ts +++ b/packages/overlayscrollbars/src/core/options/index.ts @@ -1,2 +1,2 @@ export * from 'core/options/validation'; -export * from 'core/options/transformation'; \ No newline at end of file +export * from 'core/options/transformation'; diff --git a/packages/overlayscrollbars/src/core/options/transformation.ts b/packages/overlayscrollbars/src/core/options/transformation.ts index 66c616a..bc40cc7 100644 --- a/packages/overlayscrollbars/src/core/options/transformation.ts +++ b/packages/overlayscrollbars/src/core/options/transformation.ts @@ -1,6 +1,6 @@ -import { OptionsTemplate, OptionsAndOptionsTemplate, PlainObject, OptionsTemplateTypes } from "core/typings"; -import { isArray, isObject } from "core/utils/types"; -import { each } from "core/utils/arrays"; +import { OptionsTemplate, OptionsAndOptionsTemplate, PlainObject, OptionsTemplateTypes } from 'core/typings'; +import { isArray, isObject } from 'core/utils/types'; +import { each, keys } from 'core/utils'; /** * Transforms the given OptionsAndOptionsTemplate object to its corresponding generic (T) Object or its corresponding Template object. @@ -8,19 +8,26 @@ import { each } from "core/utils/arrays"; * @param toTemplate True if the given OptionsAndOptionsTemplate shall be converted to its corresponding Template object. */ export function transform>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate): T; -export function transform>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate, toTemplate: true | void): OptionsTemplate; -export function transform>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate, toTemplate?: true | void): OptionsTemplate | T { - const result: any = {}; +export function transform>( + optionsWithOptionsTemplate: OptionsAndOptionsTemplate, + toTemplate: true | void, +): OptionsTemplate; +export function transform>( + optionsWithOptionsTemplate: OptionsAndOptionsTemplate, + toTemplate?: true | void, +): OptionsTemplate | T { + const result: any = {}; - each(Object.keys(optionsWithOptionsTemplate), (key: Extract) => { - const val: PlainObject | OptionsTemplateTypes | Array = optionsWithOptionsTemplate[key]; + each(keys(optionsWithOptionsTemplate), (key: Extract) => { + const val: PlainObject | OptionsTemplateTypes | Array = optionsWithOptionsTemplate[key]; - /* istanbul ignore else */ - if (isArray(val)) - result[key] = val[toTemplate ? 1 : 0]; - else if (isObject(val)) - result[key] = transform(val as OptionsAndOptionsTemplate, toTemplate); - }); + /* istanbul ignore else */ + if (isArray(val)) { + result[key] = val[toTemplate ? 1 : 0]; + } else if (isObject(val)) { + result[key] = transform(val as OptionsAndOptionsTemplate, toTemplate); + } + }); - return result; -}; + return result; +} diff --git a/packages/overlayscrollbars/src/core/options/validation.ts b/packages/overlayscrollbars/src/core/options/validation.ts index e337dd5..06fe8b7 100644 --- a/packages/overlayscrollbars/src/core/options/validation.ts +++ b/packages/overlayscrollbars/src/core/options/validation.ts @@ -1,8 +1,16 @@ -import { each, indexOf } from 'core/utils/arrays'; +import { each, indexOf, hasOwnProperty, keys } from 'core/utils'; import { type, isArray, isUndefined, isEmptyObject, isPlainObject, isString } from 'core/utils/types'; -import { PlainObject, OptionsTemplate, OptionsTemplateTypes, OptionsTemplateType, OptionsValidated, Func, OptionsValidatedResult } from 'core/typings'; +import { + PlainObject, + OptionsTemplate, + OptionsTemplateTypes, + OptionsTemplateType, + OptionsValidated, + Func, + OptionsValidatedResult, +} from 'core/typings'; -const stringify = JSON.stringify; +const { stringify } = JSON; /** * A prefix and suffix tuple which serves as recognition pattern for template types. @@ -13,18 +21,13 @@ const templateTypePrefixSuffix: readonly [string, string] = ['__TPL_', '_TYPE__' * Key = normal type string * value = template type string */ -const optionsTemplateTypes: OptionsTemplateTypesDictionary = [ - 'boolean', - 'number', - 'string', - 'array', - 'object', - 'function', - 'null' -].reduce((result, item) => { +const optionsTemplateTypes: OptionsTemplateTypesDictionary = ['boolean', 'number', 'string', 'array', 'object', 'function', 'null'].reduce( + (result, item) => { result[item] = templateTypePrefixSuffix[0] + item + templateTypePrefixSuffix[1]; return result; -}, {} as OptionsTemplateTypesDictionary); + }, + {} as OptionsTemplateTypesDictionary, +); /** * Validates the given options object according to the given template object and returns a object which looks like: @@ -35,7 +38,7 @@ const optionsTemplateTypes: OptionsTemplateTypesDictionary = [ * @param options The options object which shall be validated. * @param template The template according to which the options object shall be validated. * @param optionsDiff When provided the returned validated object will only have properties which are different to this objects properties. - * Example (assume all properties are valid to the template): + * Example (assume all properties are valid to the template): * Options object : { a: 'a', b: 'b', c: 'c' } * optionsDiff object : { a: 'a', b: 'b', c: undefined } * Returned validated object : { c: 'c' } @@ -44,80 +47,87 @@ const optionsTemplateTypes: OptionsTemplateTypesDictionary = [ * @param doWriteErrors True if errors shall be logged into the console, false otherwise. * @param propPath The propertyPath which lead to this object. (used for error logging) */ -const validateRecursive = function (options: T, template: OptionsTemplate>, optionsDiff: OptionsValidated, doWriteErrors?: boolean, propPath?: string): OptionsValidatedResult { - const validatedOptions: OptionsValidated = {}; - const optionsCopy: T = Object.assign({}, options); - const props = Object.keys(template).filter(prop => options.hasOwnProperty(prop)); +const validateRecursive = function ( + options: T, + template: OptionsTemplate>, + optionsDiff: OptionsValidated, + doWriteErrors?: boolean, + propPath?: string, +): OptionsValidatedResult { + const validatedOptions: OptionsValidated = {}; + const optionsCopy: T = { ...options }; + const props = keys(template).filter((prop) => hasOwnProperty(options, prop)); - each(props, (prop: Extract) => { - const optionsDiffValue: any = isUndefined(optionsDiff[prop]) ? {} : optionsDiff[prop]; - const optionsValue: any = options[prop]; - const templateValue: PlainObject | string | OptionsTemplateTypes | Array = template[prop]; - const templateIsComplex = isPlainObject(templateValue); - const propPrefix = propPath ? propPath + '.' : ''; + each(props, (prop: Extract) => { + const optionsDiffValue: any = isUndefined(optionsDiff[prop]) ? {} : optionsDiff[prop]; + const optionsValue: any = options[prop]; + const templateValue: PlainObject | string | OptionsTemplateTypes | Array = template[prop]; + const templateIsComplex = isPlainObject(templateValue); + const propPrefix = propPath ? `${propPath}.` : ''; - //if the template has a object as value, it means that the options are complex (verschachtelt) - if (templateIsComplex && isPlainObject(optionsValue)) { - const validatedResult = validateRecursive(optionsValue, templateValue as PlainObject, optionsDiffValue, doWriteErrors, propPrefix + prop); - validatedOptions[prop] = validatedResult.validated; - optionsCopy[prop] = validatedResult.foreign as any; + // if the template has a object as value, it means that the options are complex (verschachtelt) + if (templateIsComplex && isPlainObject(optionsValue)) { + const validatedResult = validateRecursive(optionsValue, templateValue as PlainObject, optionsDiffValue, doWriteErrors, propPrefix + prop); + validatedOptions[prop] = validatedResult.validated; + optionsCopy[prop] = validatedResult.foreign as any; - each([optionsCopy, validatedOptions], (value) => { - if (isEmptyObject(value[prop])) { - delete value[prop]; - } - }); + each([optionsCopy, validatedOptions], (value) => { + if (isEmptyObject(value[prop])) { + delete value[prop]; } - else if (!templateIsComplex) { - let isValid = false; - const errorEnumStrings: Array = []; - const errorPossibleTypes: Array = []; - const optionsValueType = type(optionsValue); - const templateValueArr: Array = !isArray(templateValue) ? [templateValue as string | OptionsTemplateTypes] : templateValue as Array; + }); + } else if (!templateIsComplex) { + let isValid = false; + const errorEnumStrings: Array = []; + const errorPossibleTypes: Array = []; + const optionsValueType = type(optionsValue); + const templateValueArr: Array = !isArray(templateValue) + ? [templateValue as string | OptionsTemplateTypes] + : (templateValue as Array); - each(templateValueArr, (currTemplateType) => { - //if currType value isn't inside possibleTemplateTypes we assume its a enum string value - const isEnumString = indexOf(Object.values(optionsTemplateTypes), currTemplateType) < 0; - if (isEnumString && isString(optionsValue)) { - //split it into a array which contains all possible values for example: ["yes", "no", "maybe"] - const enumStringSplit = currTemplateType.split(' '); - isValid = !!enumStringSplit.find(possibility => possibility === optionsValue); + each(templateValueArr, (currTemplateType) => { + // if currType value isn't inside possibleTemplateTypes we assume its a enum string value + const isEnumString = indexOf(Object.values(optionsTemplateTypes), currTemplateType) < 0; + if (isEnumString && isString(optionsValue)) { + // split it into a array which contains all possible values for example: ["yes", "no", "maybe"] + const enumStringSplit = currTemplateType.split(' '); + isValid = !!enumStringSplit.find((possibility) => possibility === optionsValue); - // build error message - errorEnumStrings.push(...enumStringSplit); - } - else { - isValid = optionsTemplateTypes[optionsValueType] === currTemplateType; - } - - // build error message - errorPossibleTypes.push(isEnumString ? optionsTemplateTypes.string : currTemplateType); - - // continue if invalid, break if valid - return !isValid; - }); - - - if (isValid) { - const doStringifyComparison = isArray(optionsValue) || isPlainObject(optionsValue); - if (doStringifyComparison ? stringify(optionsValue) !== stringify(optionsDiffValue) : optionsValue !== optionsDiffValue) { - validatedOptions[prop] = optionsValue; - } - } - else if (doWriteErrors) { - console.warn(`The option "${propPrefix}${prop}" wasn't set, because it doesn't accept the type [ ${optionsValueType.toUpperCase()} ] with the value of "${optionsValue}".\r\n` + - `Accepted types are: [ ${errorPossibleTypes.join(', ').toUpperCase()} ].\r\n` + - (errorEnumStrings.length > 0 ? `\r\nValid strings are: [ ${errorEnumStrings.join(', ')} ].` : '')) - } - - delete optionsCopy[prop]; + // build error message + errorEnumStrings.push(...enumStringSplit); + } else { + isValid = optionsTemplateTypes[optionsValueType] === currTemplateType; } - }); - return { - foreign: optionsCopy, - validated: validatedOptions - }; + // build error message + errorPossibleTypes.push(isEnumString ? optionsTemplateTypes.string : currTemplateType); + + // continue if invalid, break if valid + return !isValid; + }); + + if (isValid) { + const doStringifyComparison = isArray(optionsValue) || isPlainObject(optionsValue); + if (doStringifyComparison ? stringify(optionsValue) !== stringify(optionsDiffValue) : optionsValue !== optionsDiffValue) { + validatedOptions[prop] = optionsValue; + } + } else if (doWriteErrors) { + console.warn( + `${ + `The option "${propPrefix}${prop}" wasn't set, because it doesn't accept the type [ ${optionsValueType.toUpperCase()} ] with the value of "${optionsValue}".\r\n` + + `Accepted types are: [ ${errorPossibleTypes.join(', ').toUpperCase()} ].\r\n` + }${errorEnumStrings.length > 0 ? `\r\nValid strings are: [ ${errorEnumStrings.join(', ')} ].` : ''}`, + ); + } + + delete optionsCopy[prop]; + } + }); + + return { + foreign: optionsCopy, + validated: validatedOptions, + }; }; /** @@ -129,7 +139,7 @@ const validateRecursive = function (options: T, template: * @param options The options object which shall be validated. * @param template The template according to which the options object shall be validated. * @param optionsDiff When provided the returned validated object will only have properties which are different to this objects properties. - * Example (assume all properties are valid to the template): + * Example (assume all properties are valid to the template): * Options object : { a: 'a', b: 'b', c: 'c' } * optionsDiff object : { a: 'a', b: 'b', c: undefined } * Returned validated object : { c: 'c' } @@ -137,28 +147,32 @@ const validateRecursive = function (options: T, template: * Without the optionsDiff object the returned validated object would be: { a: 'a', b: 'b', c: 'c' } * @param doWriteErrors True if errors shall be logged into the console, false otherwise. */ -const validate = function (options: T, template: OptionsTemplate>, optionsDiff?: OptionsValidated, doWriteErrors?: boolean): OptionsValidatedResult { - /* +const validate = function ( + options: T, + template: OptionsTemplate>, + optionsDiff?: OptionsValidated, + doWriteErrors?: boolean, +): OptionsValidatedResult { + /* if (!isEmptyObject(foreign) && doWriteErrors) console.warn(`The following options are discarded due to invalidity:\r\n ${window.JSON.stringify(foreign, null, 2)}`); - //add values, which aren't specified in the template, to the finished validated object to prevent them from being discarded if (keepForeignProps) { Object.assign(result.validated, foreign); } */ - return validateRecursive(options, template, optionsDiff || {}, doWriteErrors || false); + return validateRecursive(options, template, optionsDiff || {}, doWriteErrors || false); }; export { validate, optionsTemplateTypes }; type OptionsTemplateTypesDictionary = { - readonly boolean: OptionsTemplateType; - readonly number: OptionsTemplateType; - readonly string: OptionsTemplateType; - readonly array: OptionsTemplateType>; - readonly object: OptionsTemplateType; - readonly function: OptionsTemplateType; - readonly null: OptionsTemplateType; -} + readonly boolean: OptionsTemplateType; + readonly number: OptionsTemplateType; + readonly string: OptionsTemplateType; + readonly array: OptionsTemplateType>; + readonly object: OptionsTemplateType; // eslint-disable-line @typescript-eslint/ban-types + readonly function: OptionsTemplateType; + readonly null: OptionsTemplateType; +}; diff --git a/packages/overlayscrollbars/src/core/typings.ts b/packages/overlayscrollbars/src/core/typings.ts index aaeffce..4cdb18d 100644 --- a/packages/overlayscrollbars/src/core/typings.ts +++ b/packages/overlayscrollbars/src/core/typings.ts @@ -5,32 +5,46 @@ export type Func = (this: any, ...args: any[]) => any; export type OptionsTemplateType = ExtractPropsKey; export type OptionsTemplateTypes = keyof OptionsTemplateTypeMap; export type OptionsTemplateNativeTypes = OptionsTemplateTypeMap[keyof OptionsTemplateTypeMap]; -export type OptionsTemplateValue = T extends string ? string extends T ? OptionsTemplateValueNonEnum : string : OptionsTemplateValueNonEnum; +export type OptionsTemplateValue = T extends string + ? string extends T + ? OptionsTemplateValueNonEnum + : string + : OptionsTemplateValueNonEnum; export type OptionsTemplate> = { - [P in keyof T]: PlainObject extends T[P] ? OptionsTemplate> : T[P] extends OptionsTemplateNativeTypes ? OptionsTemplateValue : never + [P in keyof T]: PlainObject extends T[P] + ? OptionsTemplate> + : T[P] extends OptionsTemplateNativeTypes + ? OptionsTemplateValue + : never; }; export type OptionsValidated = { - [P in keyof T]?: OptionsValidated; + [P in keyof T]?: OptionsValidated; }; export type OptionsValidatedResult = { - readonly foreign: PlainObject; - readonly validated: OptionsValidated; -} + readonly foreign: PlainObject; + readonly validated: OptionsValidated; +}; // Options With Options Template Typings: export type OptionsAndOptionsTemplateValue = [T, OptionsTemplateValue]; export type OptionsAndOptionsTemplate> = { - [P in keyof T]: PlainObject extends T[P] ? OptionsAndOptionsTemplate> : T[P] extends OptionsTemplateNativeTypes ? OptionsAndOptionsTemplateValue : never -} + [P in keyof T]: PlainObject extends T[P] + ? OptionsAndOptionsTemplate> + : T[P] extends OptionsTemplateNativeTypes + ? OptionsAndOptionsTemplateValue + : never; +}; type OptionsTemplateTypeMap = { - '__TPL_boolean_TYPE__': boolean; - '__TPL_number_TYPE__': number; - '__TPL_string_TYPE__': string; - '__TPL_array_TYPE__': Array - '__TPL_function_TYPE__': Func - '__TPL_null_TYPE__': null; - '__TPL_object_TYPE__': object; -} + __TPL_boolean_TYPE__: boolean; + __TPL_number_TYPE__: number; + __TPL_string_TYPE__: string; + __TPL_array_TYPE__: Array; + __TPL_function_TYPE__: Func; + __TPL_null_TYPE__: null; + __TPL_object_TYPE__: object; // eslint-disable-line @typescript-eslint/ban-types +}; type ExtractPropsKey = { - [P in keyof T]: TProps extends T[P] ? P : never; + [P in keyof T]: TProps extends T[P] ? P : never; }[keyof T]; -type OptionsTemplateValueNonEnum = OptionsTemplateType | [OptionsTemplateType, ...Array]; \ No newline at end of file +type OptionsTemplateValueNonEnum = + | OptionsTemplateType + | [OptionsTemplateType, ...Array]; diff --git a/packages/overlayscrollbars/src/core/utils/array.ts b/packages/overlayscrollbars/src/core/utils/array.ts new file mode 100644 index 0000000..3fb0fbf --- /dev/null +++ b/packages/overlayscrollbars/src/core/utils/array.ts @@ -0,0 +1,52 @@ +import { keys } from 'core/utils/object'; +import { isArrayLike } from 'core/utils/types'; +import { PlainObject } from 'core/typings'; + +/** + * Iterates through a array or object + * @param arrayLikeOrObject The array or object through which shall be iterated. + * @param callback The function which is responsible for the iteration. + * If the function returns true its treated like a "continue" statement. + * If the function returns false its treated like a "break" statement. + */ +export function each( + array: Array | ReadonlyArray, + callback: (value: T, indexOrKey: number, source: Array) => boolean | void, +): Array | ReadonlyArray; +export function each( + array: Array | ReadonlyArray | null, + callback: (value: T, indexOrKey: number, source: Array) => boolean | void, +): Array | ReadonlyArray | null; +export function each( + arrayLikeObject: ArrayLike, + callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void, +): ArrayLike; +export function each( + arrayLikeObject: ArrayLike | null, + callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void, +): ArrayLike | null; +export function each(obj: PlainObject, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject; +export function each(obj: PlainObject | null, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject | null; +export function each( + source: ArrayLike | PlainObject | null, + callback: (value: T | any, indexOrKey: any, source: any) => boolean | void, +): Array | ReadonlyArray | ArrayLike | PlainObject | null { + if (isArrayLike(source)) { + for (let i = 0; i < source.length; i++) { + if (callback(source[i], i, source) === false) { + break; + } + } + } else if (source) { + each(keys(source), (key) => callback(source[key], key, source)); + } + return source; +} + +/** + * Returns the index of the given inside the given array or -1 if the given item isn't part of the given array. + * @param arr The array. + * @param item The item. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. + */ +export const indexOf: (arr: Array, item: T, fromIndex?: number) => number = (arr, item, fromIndex) => arr.indexOf(item, fromIndex); diff --git a/packages/overlayscrollbars/src/core/utils/arrays.ts b/packages/overlayscrollbars/src/core/utils/arrays.ts deleted file mode 100644 index 2bee817..0000000 --- a/packages/overlayscrollbars/src/core/utils/arrays.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { isArrayLike } from 'core/utils/types'; -import { PlainObject } from 'core/typings'; - - -/** - * Iterates through a array or object - * @param arrayLikeOrObject The array or object through which shall be iterated. - * @param callback The function which is responsible for the iteration. - * If the function returns true its treated like a "continue" statement. - * If the function returns false its treated like a "break" statement. - */ -export function each(array: Array | ReadonlyArray, callback: (value: T, indexOrKey: number, source: Array) => boolean | void): Array | ReadonlyArray; -export function each(array: Array | ReadonlyArray | null, callback: (value: T, indexOrKey: number, source: Array) => boolean | void): Array | ReadonlyArray | null; -export function each(arrayLikeObject: ArrayLike, callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void): ArrayLike; -export function each(arrayLikeObject: ArrayLike | null, callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void): ArrayLike | null; -export function each(obj: PlainObject, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject; -export function each(obj: PlainObject | null, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject | null; -export function each(source: ArrayLike | PlainObject | null, callback: (value: T | any, indexOrKey: any, source: any) => boolean | void): Array | ReadonlyArray | ArrayLike | PlainObject | null { - let i: number | string = 0; - - if (isArrayLike(source)) { - for (; i < source.length; i++) { - if (callback(source[i], i, source) === false) - break; - } - } - else if (source) { - for (i in source) { - if (callback(source[i], i, source) === false) - break; - } - } - return source; -}; - -/** - * Returns the index of the given inside the given array or -1 if the given item isn't part of the given array. - * @param arr The array. - * @param item The item. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. - */ -export const indexOf: (arr: Array, item: T, fromIndex?: number) => number = (arr, item, fromIndex) => { - return arr.indexOf(item, fromIndex); -} \ No newline at end of file diff --git a/packages/overlayscrollbars/src/core/utils/extend.ts b/packages/overlayscrollbars/src/core/utils/extend.ts index b84dba3..390bc89 100644 --- a/packages/overlayscrollbars/src/core/utils/extend.ts +++ b/packages/overlayscrollbars/src/core/utils/extend.ts @@ -1,5 +1,5 @@ import { isArray, isFunction, isPlainObject, isNull } from 'core/utils/types'; -import { each } from 'core/utils/arrays'; +import { each } from 'core/utils/array'; // https://github.com/jquery/jquery/blob/master/src/core.js#L116 export function extend(target: T, object1: U): T & U; @@ -7,53 +7,62 @@ export function extend(target: T, object1: U, object2: V): T & U & V; export function extend(target: T, object1: U, object2: V, object3: W): T & U & V & W; export function extend(target: T, object1: U, object2: V, object3: W, object4: X): T & U & V & W & X; export function extend(target: T, object1: U, object2: V, object3: W, object4: X, object5: Y): T & U & V & W & X & Y; -export function extend(target: T, object1?: U, object2?: V, object3?: W, object4?: X, object5?: Y, object6?: Z): T & U & V & W & X & Y & Z { - const sources: Array = [object1, object2, object3, object4, object5, object6]; +export function extend( + target: T, + object1?: U, + object2?: V, + object3?: W, + object4?: X, + object5?: Y, + object6?: Z, +): T & U & V & W & X & Y & Z { + /* eslint-disable no-restricted-syntax, guard-for-in */ + const sources: Array = [object1, object2, object3, object4, object5, object6]; - // Handle case when target is a string or something (possible in deep copy) - if ((typeof target !== "object" || isNull(target)) && !isFunction(target)) { - target = {} as T; - } + // Handle case when target is a string or something (possible in deep copy) + if ((typeof target !== 'object' || isNull(target)) && !isFunction(target)) { + target = {} as T; + } - each(sources, (source) => { - // Only deal with non-null/undefined values - if (source != null) { + each(sources, (source) => { + // Only deal with non-null/undefined values + if (source != null) { + // Extend the base object + for (const name in source) { + const copy: any = source[name]; - // Extend the base object - for (const name in source) { - const copy: any = source[name]; - - // Prevent Object.prototype pollution - // Prevent never-ending loop - if (name === "__proto__" || target === copy) { - continue; - } - - const copyIsArray = isArray(copy); - - // Recurse if we're merging plain objects or arrays - if (copy && (isPlainObject(copy) || copyIsArray)) { - const src = target[name]; - let clone: any = src; - - // Ensure proper type for the source value - if (copyIsArray && !isArray(src)) { - clone = []; - } else if (!copyIsArray && !isPlainObject(src)) { - clone = {}; - } - - // Never move original objects, clone them - target[name] = extend(clone, copy) as any; - - // Don't bring in undefined values - } else if (copy !== undefined) { - target[name] = copy; - } - } + // Prevent Object.prototype pollution + // Prevent never-ending loop + if (name === '__proto__' || target === copy) { + continue; } - }); - // Return the modified object - return target as any; -} \ No newline at end of file + const copyIsArray = isArray(copy); + + // Recurse if we're merging plain objects or arrays + if (copy && (isPlainObject(copy) || copyIsArray)) { + const src = target[name]; + let clone: any = src; + + // Ensure proper type for the source value + if (copyIsArray && !isArray(src)) { + clone = []; + } else if (!copyIsArray && !isPlainObject(src)) { + clone = {}; + } + + // Never move original objects, clone them + target[name] = extend(clone, copy) as any; + + // Don't bring in undefined values + } else if (copy !== undefined) { + target[name] = copy; + } + } + } + }); + + // Return the modified object + return target as any; + /* eslint-enable */ +} diff --git a/packages/overlayscrollbars/src/core/utils/index.ts b/packages/overlayscrollbars/src/core/utils/index.ts index ca46ee0..db59a3a 100644 --- a/packages/overlayscrollbars/src/core/utils/index.ts +++ b/packages/overlayscrollbars/src/core/utils/index.ts @@ -1,3 +1,4 @@ -export * from 'core/utils/arrays'; +export * from 'core/utils/array'; +export * from 'core/utils/object'; export * from 'core/utils/extend'; -export * from 'core/utils/types'; \ No newline at end of file +export * from 'core/utils/types'; diff --git a/packages/overlayscrollbars/src/core/utils/object.ts b/packages/overlayscrollbars/src/core/utils/object.ts new file mode 100644 index 0000000..7651d0b --- /dev/null +++ b/packages/overlayscrollbars/src/core/utils/object.ts @@ -0,0 +1,13 @@ +/** + * Determines whether the passed object has a property with the passed name. + * @param obj The object. + * @param prop The name of the property. + */ +export const hasOwnProperty: (obj: any, prop: string | number | symbol) => boolean = (obj: any, prop: string | number | symbol) => + Object.prototype.hasOwnProperty.call(obj, prop); + +/** + * Returns the names of the enumerable string properties and methods of an object. + * @param obj The object of which the properties shall be returned. + */ +export const keys: (obj: any) => Array = (obj: any) => Object.keys(obj); diff --git a/packages/overlayscrollbars/src/core/utils/types.ts b/packages/overlayscrollbars/src/core/utils/types.ts index d78903e..ff6334a 100644 --- a/packages/overlayscrollbars/src/core/utils/types.ts +++ b/packages/overlayscrollbars/src/core/utils/types.ts @@ -1,88 +1,89 @@ import { PlainObject } from 'core/typings'; export const type: (obj: any) => string = (obj) => { - if (obj === undefined) - return obj + ''; - if (obj === null) - return obj + ''; - return Object.prototype.toString.call(obj).replace(/^\[object (.+)\]$/, '$1').toLowerCase(); -} - -export function isNumber(obj: any): obj is number { - return typeof obj === 'number'; + if (obj === undefined) return `${obj}`; + if (obj === null) return `${obj}`; + return Object.prototype.toString + .call(obj) + .replace(/^\[object (.+)\]$/, '$1') + .toLowerCase(); }; +export function isNumber(obj: any): obj is number { + return typeof obj === 'number'; +} + export function isString(obj: any): obj is string { - return typeof obj === 'string'; + return typeof obj === 'string'; } export function isBoolean(obj: any): obj is boolean { - return typeof obj === 'boolean'; + return typeof obj === 'boolean'; } -export function isObject(obj: any): boolean { - return typeof obj === 'object' && !isArray(obj) && !isNull(obj); -} - -export function isFunction(obj: any): obj is Function { - return typeof obj === 'function'; +export function isFunction(obj: any): obj is (...args: Array) => unknown { + return typeof obj === 'function'; } export function isUndefined(obj: any): obj is undefined { - return obj === undefined; + return obj === undefined; } export function isNull(obj: any): obj is null { - return obj === null; + return obj === null; } export function isArray(obj: any): obj is Array { - return Array.isArray(obj); + return Array.isArray(obj); } +export function isObject(obj: any): boolean { + return typeof obj === 'object' && !isArray(obj) && !isNull(obj); +} /** * Returns true if the given object is array like, false otherwise. * @param obj The Object */ export function isArrayLike(obj: any): obj is ArrayLike { - const length = !!obj && obj.length; - return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0); + const length = !!obj && obj.length; + return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0); // eslint-disable-line eqeqeq } /** - * Returns true if the given object is a "plain" (e.g. { key: value }) object, false otherwise. + * Returns true if the given object is a "plain" (e.g. { key: value }) object, false otherwise. * @param obj The Object. */ export function isPlainObject(obj: any): obj is PlainObject { - if (!obj || !isObject(obj) || type(obj) !== 'object') - return false; + if (!obj || !isObject(obj) || type(obj) !== 'object') return false; - let key; - const proto = 'prototype'; - const hasOwnProperty = Object[proto].hasOwnProperty; - const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor'); - const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf'); + let key; + const proto = 'prototype'; + const { hasOwnProperty } = Object[proto]; + const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor'); + const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf'); - if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { - return false; - } + if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { + return false; + } - for (key in obj) { /**/ } + /* eslint-disable no-restricted-syntax */ + for (key in obj) { + /**/ + } + /* eslint-enable */ - return isUndefined(key) || hasOwnProperty.call(obj, key); -}; + return isUndefined(key) || hasOwnProperty.call(obj, key); +} /** * Checks whether the given object is a HTMLElement. * @param obj The object which shall be checked. */ export function isHTMLElement(obj: any): obj is HTMLElement { - const instaceOfRightHandSide = window.HTMLElement; - const doInstanceOf = isObject(instaceOfRightHandSide) || isFunction(instaceOfRightHandSide); - return !!( - doInstanceOf ? obj instanceof instaceOfRightHandSide : (obj && isObject(obj) && obj.nodeType === 1 && isString(obj.nodeName)) - ); + const instaceOfRightHandSide = window.HTMLElement; + const doInstanceOf = isObject(instaceOfRightHandSide) || isFunction(instaceOfRightHandSide); + return !!(doInstanceOf ? obj instanceof instaceOfRightHandSide : obj && isObject(obj) && obj.nodeType === 1 && isString(obj.nodeName)); } /** @@ -90,7 +91,8 @@ export function isHTMLElement(obj: any): obj is HTMLElement { * @param obj The Object. */ export function isEmptyObject(obj: any): boolean { - for (let name in obj) - return false; - return true; -}; \ No newline at end of file + /* eslint-disable no-restricted-syntax, guard-for-in */ + for (const name in obj) return false; + return true; + /* eslint-enable */ +} diff --git a/packages/overlayscrollbars/src/index.ts b/packages/overlayscrollbars/src/index.ts index 04750cf..6962bad 100644 --- a/packages/overlayscrollbars/src/index.ts +++ b/packages/overlayscrollbars/src/index.ts @@ -1,6 +1,5 @@ - import { createDOM } from 'core/dom'; -import j from 'jquery'; + /* export * from 'core/compatibility'; export * from 'core/utils'; @@ -10,14 +9,16 @@ export * from 'instances'; */ const abc = { - a: 1, - b: 1, - c: 1, -} + a: 1, + b: 1, + c: 1, +}; export default () => { - const { a, b, c } = abc; - return [createDOM(`\ + const { a, b, c } = abc; + return [ + createDOM( + '\
\
\
\ @@ -38,5 +39,12 @@ export default () => {
\
\
\ - `), j('div'), a, b, c]; -}; \ No newline at end of file + ', + ), + a, + b, + c, + ]; +}; + +export const a = 1; diff --git a/packages/overlayscrollbars/src/instances.ts b/packages/overlayscrollbars/src/instances.ts index b8a7be5..0fc059e 100644 --- a/packages/overlayscrollbars/src/instances.ts +++ b/packages/overlayscrollbars/src/instances.ts @@ -7,46 +7,44 @@ const targetInstanceMap: WeakMap = new WeakMap(); * @param osInstance The OverlayScrollbars instance. */ export const addInstance: (target: Element, osInstance: any) => void = (target, osInstance) => { - targetInstanceMap.set(target, osInstance); - targets.add(target); -} + targetInstanceMap.set(target, osInstance); + targets.add(target); +}; /** * Removes a OverlayScrollbars instance from the given element. * @param target The element from which its OverlayScrollbars instance shall be removed. */ export const removeInstance: (target: Element) => void = (target) => { - targetInstanceMap.delete(target); - targets.delete(target); -} + targetInstanceMap.delete(target); + targets.delete(target); +}; /** * Gets the OverlayScrollbars from the given element or undefined if it doesn't have one. * @param target The element of which its OverlayScrollbars instance shall be get. */ -export const getInstance: (target: Element) => any = (target) => { - return targetInstanceMap.get(target); -} +export const getInstance: (target: Element) => any = (target) => targetInstanceMap.get(target); /** - * Gets a Map which represents all active OverayScrollbars instances. + * Gets a Map which represents all active OverayScrollbars instances. * The Key is the ekement and the value is the instance. */ export const allInstances: () => ReadonlyMap = () => { - const validTargetInstanceMap: Map = new Map(); + const validTargetInstanceMap: Map = new Map(); - targets.forEach((target: Element) => { - /* istanbul ignore else */ - if (targetInstanceMap.has(target)) { - validTargetInstanceMap.set(target, targetInstanceMap.get(target)) - } - }); + targets.forEach((target: Element) => { + /* istanbul ignore else */ + if (targetInstanceMap.has(target)) { + validTargetInstanceMap.set(target, targetInstanceMap.get(target)); + } + }); - targets.clear(); + targets.clear(); - validTargetInstanceMap.forEach((instance: any, validTarget: Element) => { - targets.add(validTarget); - }); + validTargetInstanceMap.forEach((instance: any, validTarget: Element) => { + targets.add(validTarget); + }); - return validTargetInstanceMap; -} \ No newline at end of file + return validTargetInstanceMap; +}; diff --git a/packages/overlayscrollbars/src/options.ts b/packages/overlayscrollbars/src/options.ts index f5c8ade..84922be 100644 --- a/packages/overlayscrollbars/src/options.ts +++ b/packages/overlayscrollbars/src/options.ts @@ -1,6 +1,6 @@ -import { OptionsTemplate, OptionsTemplateValue, OptionsAndOptionsTemplateValue, OptionsAndOptionsTemplate, Func } from "core/typings"; -import { optionsTemplateTypes as oTypes, transform } from "core/options"; -import { OverlayScrollbars } from "typings"; +import { OptionsTemplate, OptionsTemplateValue, OptionsAndOptionsTemplateValue, OptionsAndOptionsTemplate, Func } from 'core/typings'; +import { optionsTemplateTypes as oTypes, transform } from 'core/options'; +import { ResizeBehavior, OverflowBehavior, VisibilityBehavior, AutoHideBehavior, Options } from 'typings'; const classNameAllowedValues: OptionsTemplateValue = [oTypes.string, oTypes.null]; const numberAllowedValues: OptionsTemplateValue = oTypes.number; @@ -9,15 +9,15 @@ const stringArrayNullAllowedValues: OptionsTemplateValue const booleanTrueTemplate: OptionsAndOptionsTemplateValue = [true, oTypes.boolean]; const booleanFalseTemplate: OptionsAndOptionsTemplateValue = [false, oTypes.boolean]; const callbackTemplate: OptionsAndOptionsTemplateValue = [null, [oTypes.function, oTypes.null]]; -const resizeAllowedValues: OptionsTemplateValue = 'none both horizontal vertical'; -const overflowBehaviorAllowedValues: OptionsTemplateValue = 'visible-hidden visible-scroll scroll hidden'; -const scrollbarsVisibilityAllowedValues: OptionsTemplateValue = 'visible hidden auto'; -const scrollbarsAutoHideAllowedValues: OptionsTemplateValue = 'never scroll leavemove'; +const resizeAllowedValues: OptionsTemplateValue = 'none both horizontal vertical'; +const overflowBehaviorAllowedValues: OptionsTemplateValue = 'visible-hidden visible-scroll scroll hidden'; +const scrollbarsVisibilityAllowedValues: OptionsTemplateValue = 'visible hidden auto'; +const scrollbarsAutoHideAllowedValues: OptionsTemplateValue = 'never scroll leavemove'; /** * A object which serves as "default options object" and "options template object". * I combined these two into one object so that I don't have to define two separate big objects, instead I define one big object. - * + * * The property value is a tuple: * the first value is the default value * the second value is the template value @@ -29,54 +29,53 @@ const scrollbarsAutoHideAllowedValues: OptionsTemplateValue> = { - className: ['os-theme-dark', classNameAllowedValues], //null || string - resize: ['none', resizeAllowedValues], //none || both || horizontal || vertical || n || b || h || v - sizeAutoCapable: booleanTrueTemplate, //true || false - clipAlways: booleanTrueTemplate, //true || false - normalizeRTL: booleanTrueTemplate, //true || false - paddingAbsolute: booleanFalseTemplate, //true || false - autoUpdate: [null, booleanNullAllowedValues], //true || false || null - autoUpdateInterval: [33, numberAllowedValues], //number - updateOnLoad: [['img'], stringArrayNullAllowedValues], //string || array || null - nativeScrollbarsOverlaid: { - showNativeScrollbars: booleanFalseTemplate, //true || false - initialize: booleanFalseTemplate //true || false - }, - overflowBehavior: { - x: ['scroll', overflowBehaviorAllowedValues], //visible-hidden || visible-scroll || hidden || scroll || v-h || v-s || h || s - y: ['scroll', overflowBehaviorAllowedValues] //visible-hidden || visible-scroll || hidden || scroll || v-h || v-s || h || s - }, - scrollbars: { - visibility: ['auto', scrollbarsVisibilityAllowedValues], //visible || hidden || auto || v || h || a - autoHide: ['never', scrollbarsAutoHideAllowedValues], //never || scroll || leave || move || n || s || l || m - autoHideDelay: [800, numberAllowedValues], //number - dragScrolling: booleanTrueTemplate, //true || false - clickScrolling: booleanFalseTemplate, //true || false - touchSupport: booleanTrueTemplate, //true || false - snapHandle: booleanFalseTemplate //true || false - }, - textarea: { - dynWidth: booleanFalseTemplate, //true || false - dynHeight: booleanFalseTemplate, //true || false - inheritedAttrs: [['style', 'class'], stringArrayNullAllowedValues], //string || array || null - }, - callbacks: { - onInitialized: callbackTemplate, //null || function - onInitializationWithdrawn: callbackTemplate, //null || function - onDestroyed: callbackTemplate, //null || function - onScrollStart: callbackTemplate, //null || function - onScroll: callbackTemplate, //null || function - onScrollStop: callbackTemplate, //null || function - onOverflowChanged: callbackTemplate, //null || function - onOverflowAmountChanged: callbackTemplate, //null || function - onDirectionChanged: callbackTemplate, //null || function - onContentSizeChanged: callbackTemplate, //null || function - onHostSizeChanged: callbackTemplate, //null || function - onUpdated: callbackTemplate //null || function - } -} - -export const optionsTemplate: OptionsTemplate> = transform(defaultOptionsWithTemplate, true); -export const defaultOptions: OverlayScrollbars.Options = transform(defaultOptionsWithTemplate); +const defaultOptionsWithTemplate: OptionsAndOptionsTemplate> = { + className: ['os-theme-dark', classNameAllowedValues], // null || string + resize: ['none', resizeAllowedValues], // none || both || horizontal || vertical || n || b || h || v + sizeAutoCapable: booleanTrueTemplate, // true || false + clipAlways: booleanTrueTemplate, // true || false + normalizeRTL: booleanTrueTemplate, // true || false + paddingAbsolute: booleanFalseTemplate, // true || false + autoUpdate: [null, booleanNullAllowedValues], // true || false || null + autoUpdateInterval: [33, numberAllowedValues], // number + updateOnLoad: [['img'], stringArrayNullAllowedValues], // string || array || null + nativeScrollbarsOverlaid: { + showNativeScrollbars: booleanFalseTemplate, // true || false + initialize: booleanFalseTemplate, // true || false + }, + overflowBehavior: { + x: ['scroll', overflowBehaviorAllowedValues], // visible-hidden || visible-scroll || hidden || scroll || v-h || v-s || h || s + y: ['scroll', overflowBehaviorAllowedValues], // visible-hidden || visible-scroll || hidden || scroll || v-h || v-s || h || s + }, + scrollbars: { + visibility: ['auto', scrollbarsVisibilityAllowedValues], // visible || hidden || auto || v || h || a + autoHide: ['never', scrollbarsAutoHideAllowedValues], // never || scroll || leave || move || n || s || l || m + autoHideDelay: [800, numberAllowedValues], // number + dragScrolling: booleanTrueTemplate, // true || false + clickScrolling: booleanFalseTemplate, // true || false + touchSupport: booleanTrueTemplate, // true || false + snapHandle: booleanFalseTemplate, // true || false + }, + textarea: { + dynWidth: booleanFalseTemplate, // true || false + dynHeight: booleanFalseTemplate, // true || false + inheritedAttrs: [['style', 'class'], stringArrayNullAllowedValues], // string || array || null + }, + callbacks: { + onInitialized: callbackTemplate, // null || function + onInitializationWithdrawn: callbackTemplate, // null || function + onDestroyed: callbackTemplate, // null || function + onScrollStart: callbackTemplate, // null || function + onScroll: callbackTemplate, // null || function + onScrollStop: callbackTemplate, // null || function + onOverflowChanged: callbackTemplate, // null || function + onOverflowAmountChanged: callbackTemplate, // null || function + onDirectionChanged: callbackTemplate, // null || function + onContentSizeChanged: callbackTemplate, // null || function + onHostSizeChanged: callbackTemplate, // null || function + onUpdated: callbackTemplate, // null || function + }, +}; +export const optionsTemplate: OptionsTemplate> = transform(defaultOptionsWithTemplate, true); +export const defaultOptions: Options = transform(defaultOptionsWithTemplate); diff --git a/packages/overlayscrollbars/src/typings.ts b/packages/overlayscrollbars/src/typings.ts index f08e1b5..3307426 100644 --- a/packages/overlayscrollbars/src/typings.ts +++ b/packages/overlayscrollbars/src/typings.ts @@ -1,369 +1,477 @@ -export namespace OverlayScrollbars { - export type ResizeBehavior = "none" | "both" | "horizontal" | "vertical"; +export type ResizeBehavior = 'none' | 'both' | 'horizontal' | 'vertical'; - export type OverflowBehavior = "hidden" | "scroll" | "visible-hidden" | "visible-scroll"; +export type OverflowBehavior = 'hidden' | 'scroll' | 'visible-hidden' | 'visible-scroll'; - export type VisibilityBehavior = "visible" | "hidden" | "auto"; +export type VisibilityBehavior = 'visible' | 'hidden' | 'auto'; - export type AutoHideBehavior = "never" | "scroll" | "leave" | "move"; +export type AutoHideBehavior = 'never' | 'scroll' | 'leave' | 'move'; - export type ScrollBehavior = "always" | "ifneeded" | "never"; +export type ScrollBehavior = 'always' | 'ifneeded' | 'never'; - export type BlockBehavior = "begin" | "end" | "center" | "nearest"; +export type BasicEventCallback = (this: any) => void; - export type Easing = string | null | undefined; +export type ScrollEventCallback = (this: any, args?: UIEvent) => void; - export type Margin = number | boolean; +export type OverflowChangedCallback = (this: any, args?: OverflowChangedArgs) => void; - export type Position = number | string; +export type OverflowAmountChangedCallback = (this: any, args?: OverflowAmountChangedArgs) => void; - export type Extensions = string | ReadonlyArray | { [extensionName: string]: {} }; +export type DirectionChangedCallback = (this: any, args?: DirectionChangedArgs) => void; - export type BasicEventCallback = (this: OverlayScrollbars) => void; +export type SizeChangedCallback = (this: any, args?: SizeChangedArgs) => void; - export type ScrollEventCallback = (this: OverlayScrollbars, args?: UIEvent) => void; +export type UpdatedCallback = (this: any, args?: UpdatedArgs) => void; - export type OverflowChangedCallback = (this: OverlayScrollbars, args?: OverflowChangedArgs) => void; - - export type OverflowAmountChangedCallback = (this: OverlayScrollbars, args?: OverflowAmountChangedArgs) => void; - - export type DirectionChangedCallback = (this: OverlayScrollbars, args?: DirectionChangedArgs) => void; - - export type SizeChangedCallback = (this: OverlayScrollbars, args?: SizeChangedArgs) => void; - - export type UpdatedCallback = (this: OverlayScrollbars, args?: UpdatedArgs) => void; - - export type Coordinates = { x?: Position; y?: Position } - | { l?: Position; t?: Position } - | { left?: Position; top?: Position } - | [Position, Position] - | Position - | HTMLElement - | { - el: HTMLElement; - scroll?: ScrollBehavior | { x?: ScrollBehavior; y?: ScrollBehavior } | [ScrollBehavior, ScrollBehavior]; - block?: BlockBehavior | { x?: BlockBehavior; y?: BlockBehavior } | [BlockBehavior, BlockBehavior]; - margin?: Margin - | { - top?: Margin; - right?: Margin; - bottom?: Margin; - left?: Margin; - } - | [Margin, Margin] - | [Margin, Margin, Margin, Margin]; - }; - - export interface OverflowChangedArgs { - x: boolean; - y: boolean; - xScrollable: boolean; - yScrollable: boolean; - clipped: boolean; - } - - export interface OverflowAmountChangedArgs { - x: number; - y: number; - } - - export interface DirectionChangedArgs { - isRTL: number; - dir: string; - } - - export interface SizeChangedArgs { - width: number; - height: number; - } - - export interface UpdatedArgs { - forced: boolean; - } - - export interface Options { - className?: string | null; - resize?: ResizeBehavior; - sizeAutoCapable?: boolean; - clipAlways?: boolean; - normalizeRTL?: boolean; - paddingAbsolute?: boolean; - autoUpdate?: boolean | null; - autoUpdateInterval?: number; - updateOnLoad?: string | ReadonlyArray | null; - nativeScrollbarsOverlaid?: { - showNativeScrollbars?: boolean; - initialize?: boolean; - }; - overflowBehavior?: { - x?: OverflowBehavior; - y?: OverflowBehavior; - }; - scrollbars?: { - visibility?: VisibilityBehavior; - autoHide?: AutoHideBehavior; - autoHideDelay?: number; - dragScrolling?: boolean; - clickScrolling?: boolean; - touchSupport?: boolean; - snapHandle?: boolean; - }; - textarea?: { - dynWidth?: boolean; - dynHeight?: boolean; - inheritedAttrs?: string | ReadonlyArray | null; - }; - callbacks?: { - onInitialized?: BasicEventCallback | null; - onInitializationWithdrawn?: BasicEventCallback | null; - onDestroyed?: BasicEventCallback | null; - onScrollStart?: ScrollEventCallback | null; - onScroll?: ScrollEventCallback | null; - onScrollStop?: ScrollEventCallback | null; - onOverflowChanged?: OverflowChangedCallback | null; - onOverflowAmountChanged?: OverflowAmountChangedCallback | null; - onDirectionChanged?: DirectionChangedCallback | null; - onContentSizeChanged?: SizeChangedCallback | null; - onHostSizeChanged?: SizeChangedCallback | null; - onUpdated?: UpdatedCallback | null; - }; - } - - export interface ScrollInfo { - position: { - x: number; - y: number; - }; - ratio: { - x: number; - y: number; - }; - max: { - x: number; - y: number; - }; - handleOffset: { - x: number; - y: number; - }; - handleLength: { - x: number; - y: number; - }; - handleLengthRatio: { - x: number; - y: number; - }; - trackLength: { - x: number; - y: number; - }; - snappedHandleOffset: { - x: number; - y: number; - }; - isRTL: boolean; - isRTLNormalized: boolean; - } - - export interface Elements { - target: HTMLElement; - host: HTMLElement; - padding: HTMLElement; - viewport: HTMLElement; - content: HTMLElement; - scrollbarHorizontal: { - scrollbar: HTMLElement; - track: HTMLElement; - handle: HTMLElement; - }; - scrollbarVertical: { - scrollbar: HTMLElement; - track: HTMLElement; - handle: HTMLElement; - }; - scrollbarCorner: HTMLElement; - } - - export interface State { - destroyed: boolean; - sleeping: boolean; - autoUpdate: boolean; - widthAuto: boolean; - heightAuto: boolean; - documentMixed: boolean; - padding: { - t: number; - r: number; - b: number; - l: number; - }; - overflowAmount: { - x: number; - y: number; - }; - hideOverflow: { - x: boolean; - y: boolean; - xs: boolean; - ys: boolean; - }; - hasOverflow: { - x: boolean; - y: boolean; - }; - contentScrollSize: { - width: number; - height: number; - }; - viewportSize: { - width: number; - height: number; - }; - hostSize: { - width: number; - height: number; - }; - } - - export interface Extension { - contract(global: any): boolean; - - added(options?: {}): void; - - removed(): void; - - on(callbackName: string, callbackArgs?: UIEvent | OverflowChangedArgs | OverflowAmountChangedArgs | DirectionChangedArgs | SizeChangedArgs | UpdatedArgs): void; - } - - export interface ExtensionInfo { - name: string; - extensionFactory: (this: OverlayScrollbars, defaultOptions: {}, compatibility: Compatibility, framework: any) => Extension; - defaultOptions?: {}; - } - - export interface Globals { - defaultOptions: {}; - autoUpdateLoop: boolean; - autoUpdateRecommended: boolean; - supportMutationObserver: boolean; - supportResizeObserver: boolean; - supportPassiveEvents: boolean; - supportTransform: boolean; - supportTransition: boolean; - restrictedMeasuring: boolean; - nativeScrollbarStyling: boolean; - cssCalc: string | null; - nativeScrollbarSize: { - x: number; - y: number; - }; - nativeScrollbarIsOverlaid: { - x: boolean; - y: boolean; - }; - overlayScrollbarDummySize: { - x: number; - y: number; - }; - rtlScrollBehavior: { - i: boolean; - n: boolean; - }; - } - - export interface Compatibility { - wW(): number; - wH(): number; - mO(): any; - rO(): any; - rAF(): (callback: (...args: any[]) => any) => number; - cAF(): (requestID: number) => void; - now(): number; - stpP(event: Event): void; - prvD(event: Event): void; - page(event: MouseEvent): { x: number, y: number }; - mBtn(event: MouseEvent): number; - inA(item: T, array: T[]): number; - isA(obj: any): boolean; - type(obj: any): string; - bind(func: (...args: any[]) => any, thisObj: any, ...args: any[]): any; - } +export interface Options { + className?: string | null; + resize?: ResizeBehavior; + sizeAutoCapable?: boolean; + clipAlways?: boolean; + normalizeRTL?: boolean; + paddingAbsolute?: boolean; + autoUpdate?: boolean | null; + autoUpdateInterval?: number; + updateOnLoad?: string | ReadonlyArray | null; + nativeScrollbarsOverlaid?: { + showNativeScrollbars?: boolean; + initialize?: boolean; + }; + overflowBehavior?: { + x?: OverflowBehavior; + y?: OverflowBehavior; + }; + scrollbars?: { + visibility?: VisibilityBehavior; + autoHide?: AutoHideBehavior; + autoHideDelay?: number; + dragScrolling?: boolean; + clickScrolling?: boolean; + touchSupport?: boolean; + snapHandle?: boolean; + }; + textarea?: { + dynWidth?: boolean; + dynHeight?: boolean; + inheritedAttrs?: string | ReadonlyArray | null; + }; + callbacks?: { + onInitialized?: BasicEventCallback | null; + onInitializationWithdrawn?: BasicEventCallback | null; + onDestroyed?: BasicEventCallback | null; + onScrollStart?: ScrollEventCallback | null; + onScroll?: ScrollEventCallback | null; + onScrollStop?: ScrollEventCallback | null; + onOverflowChanged?: OverflowChangedCallback | null; + onOverflowAmountChanged?: OverflowAmountChangedCallback | null; + onDirectionChanged?: DirectionChangedCallback | null; + onContentSizeChanged?: SizeChangedCallback | null; + onHostSizeChanged?: SizeChangedCallback | null; + onUpdated?: UpdatedCallback | null; + }; } +export interface OverflowChangedArgs { + x: boolean; + y: boolean; + xScrollable: boolean; + yScrollable: boolean; + clipped: boolean; +} +export interface OverflowAmountChangedArgs { + x: number; + y: number; +} + +export interface DirectionChangedArgs { + isRTL: number; + dir: string; +} + +export interface SizeChangedArgs { + width: number; + height: number; +} + +export interface UpdatedArgs { + forced: boolean; +} + +/* +export namespace OverlayScrollbars { + export type ResizeBehavior = 'none' | 'both' | 'horizontal' | 'vertical'; + + export type OverflowBehavior = 'hidden' | 'scroll' | 'visible-hidden' | 'visible-scroll'; + + export type VisibilityBehavior = 'visible' | 'hidden' | 'auto'; + + export type AutoHideBehavior = 'never' | 'scroll' | 'leave' | 'move'; + + export type ScrollBehavior = 'always' | 'ifneeded' | 'never'; + + export type BlockBehavior = 'begin' | 'end' | 'center' | 'nearest'; + + export type Easing = string | null | undefined; + + export type Margin = number | boolean; + + export type Position = number | string; + + export type Extensions = string | ReadonlyArray | { [extensionName: string]: {} }; + + export type BasicEventCallback = (this: OverlayScrollbars) => void; + + export type ScrollEventCallback = (this: OverlayScrollbars, args?: UIEvent) => void; + + export type OverflowChangedCallback = (this: OverlayScrollbars, args?: OverflowChangedArgs) => void; + + export type OverflowAmountChangedCallback = (this: OverlayScrollbars, args?: OverflowAmountChangedArgs) => void; + + export type DirectionChangedCallback = (this: OverlayScrollbars, args?: DirectionChangedArgs) => void; + + export type SizeChangedCallback = (this: OverlayScrollbars, args?: SizeChangedArgs) => void; + + export type UpdatedCallback = (this: OverlayScrollbars, args?: UpdatedArgs) => void; + + export type Coordinates = + | { x?: Position; y?: Position } + | { l?: Position; t?: Position } + | { left?: Position; top?: Position } + | [Position, Position] + | Position + | HTMLElement + | { + el: HTMLElement; + scroll?: ScrollBehavior | { x?: ScrollBehavior; y?: ScrollBehavior } | [ScrollBehavior, ScrollBehavior]; + block?: BlockBehavior | { x?: BlockBehavior; y?: BlockBehavior } | [BlockBehavior, BlockBehavior]; + margin?: + | Margin + | { + top?: Margin; + right?: Margin; + bottom?: Margin; + left?: Margin; + } + | [Margin, Margin] + | [Margin, Margin, Margin, Margin]; + }; + + export interface OverflowChangedArgs { + x: boolean; + y: boolean; + xScrollable: boolean; + yScrollable: boolean; + clipped: boolean; + } + + export interface OverflowAmountChangedArgs { + x: number; + y: number; + } + + export interface DirectionChangedArgs { + isRTL: number; + dir: string; + } + + export interface SizeChangedArgs { + width: number; + height: number; + } + + export interface UpdatedArgs { + forced: boolean; + } + + export interface Options { + className?: string | null; + resize?: ResizeBehavior; + sizeAutoCapable?: boolean; + clipAlways?: boolean; + normalizeRTL?: boolean; + paddingAbsolute?: boolean; + autoUpdate?: boolean | null; + autoUpdateInterval?: number; + updateOnLoad?: string | ReadonlyArray | null; + nativeScrollbarsOverlaid?: { + showNativeScrollbars?: boolean; + initialize?: boolean; + }; + overflowBehavior?: { + x?: OverflowBehavior; + y?: OverflowBehavior; + }; + scrollbars?: { + visibility?: VisibilityBehavior; + autoHide?: AutoHideBehavior; + autoHideDelay?: number; + dragScrolling?: boolean; + clickScrolling?: boolean; + touchSupport?: boolean; + snapHandle?: boolean; + }; + textarea?: { + dynWidth?: boolean; + dynHeight?: boolean; + inheritedAttrs?: string | ReadonlyArray | null; + }; + callbacks?: { + onInitialized?: BasicEventCallback | null; + onInitializationWithdrawn?: BasicEventCallback | null; + onDestroyed?: BasicEventCallback | null; + onScrollStart?: ScrollEventCallback | null; + onScroll?: ScrollEventCallback | null; + onScrollStop?: ScrollEventCallback | null; + onOverflowChanged?: OverflowChangedCallback | null; + onOverflowAmountChanged?: OverflowAmountChangedCallback | null; + onDirectionChanged?: DirectionChangedCallback | null; + onContentSizeChanged?: SizeChangedCallback | null; + onHostSizeChanged?: SizeChangedCallback | null; + onUpdated?: UpdatedCallback | null; + }; + } + + export interface ScrollInfo { + position: { + x: number; + y: number; + }; + ratio: { + x: number; + y: number; + }; + max: { + x: number; + y: number; + }; + handleOffset: { + x: number; + y: number; + }; + handleLength: { + x: number; + y: number; + }; + handleLengthRatio: { + x: number; + y: number; + }; + trackLength: { + x: number; + y: number; + }; + snappedHandleOffset: { + x: number; + y: number; + }; + isRTL: boolean; + isRTLNormalized: boolean; + } + + export interface Elements { + target: HTMLElement; + host: HTMLElement; + padding: HTMLElement; + viewport: HTMLElement; + content: HTMLElement; + scrollbarHorizontal: { + scrollbar: HTMLElement; + track: HTMLElement; + handle: HTMLElement; + }; + scrollbarVertical: { + scrollbar: HTMLElement; + track: HTMLElement; + handle: HTMLElement; + }; + scrollbarCorner: HTMLElement; + } + + export interface State { + destroyed: boolean; + sleeping: boolean; + autoUpdate: boolean; + widthAuto: boolean; + heightAuto: boolean; + documentMixed: boolean; + padding: { + t: number; + r: number; + b: number; + l: number; + }; + overflowAmount: { + x: number; + y: number; + }; + hideOverflow: { + x: boolean; + y: boolean; + xs: boolean; + ys: boolean; + }; + hasOverflow: { + x: boolean; + y: boolean; + }; + contentScrollSize: { + width: number; + height: number; + }; + viewportSize: { + width: number; + height: number; + }; + hostSize: { + width: number; + height: number; + }; + } + + export interface Extension { + contract(global: any): boolean; + + added(options?: {}): void; + + removed(): void; + + on( + callbackName: string, + callbackArgs?: UIEvent | OverflowChangedArgs | OverflowAmountChangedArgs | DirectionChangedArgs | SizeChangedArgs | UpdatedArgs, + ): void; + } + + export interface ExtensionInfo { + name: string; + extensionFactory: (this: OverlayScrollbars, defaultOptions: {}, compatibility: Compatibility, framework: any) => Extension; + defaultOptions?: {}; + } + + export interface Globals { + defaultOptions: {}; + autoUpdateLoop: boolean; + autoUpdateRecommended: boolean; + supportMutationObserver: boolean; + supportResizeObserver: boolean; + supportPassiveEvents: boolean; + supportTransform: boolean; + supportTransition: boolean; + restrictedMeasuring: boolean; + nativeScrollbarStyling: boolean; + cssCalc: string | null; + nativeScrollbarSize: { + x: number; + y: number; + }; + nativeScrollbarIsOverlaid: { + x: boolean; + y: boolean; + }; + overlayScrollbarDummySize: { + x: number; + y: number; + }; + rtlScrollBehavior: { + i: boolean; + n: boolean; + }; + } + + export interface Compatibility { + wW(): number; + wH(): number; + mO(): any; + rO(): any; + rAF(): (callback: (...args: any[]) => any) => number; + cAF(): (requestID: number) => void; + now(): number; + stpP(event: Event): void; + prvD(event: Event): void; + page(event: MouseEvent): { x: number; y: number }; + mBtn(event: MouseEvent): number; + inA(item: T, array: T[]): number; + isA(obj: any): boolean; + type(obj: any): string; + bind(func: (...args: any[]) => any, thisObj: any, ...args: any[]): any; + } +} interface OverlayScrollbars { - options(): OverlayScrollbars.Options; - options(options: OverlayScrollbars.Options): void; - options(optionName: string): any; - options(optionName: string, optionValue: {} | null): void; + options(): OverlayScrollbars.Options; + options(options: OverlayScrollbars.Options): void; + options(optionName: string): any; + options(optionName: string, optionValue: {} | null): void; - update(force?: boolean): void; + update(force?: boolean): void; - sleep(): void; + sleep(): void; - scroll(): OverlayScrollbars.ScrollInfo; - scroll( - coordinates: OverlayScrollbars.Coordinates, - duration?: number, - easing?: OverlayScrollbars.Easing | { x?: OverlayScrollbars.Easing; y?: OverlayScrollbars.Easing } | [OverlayScrollbars.Easing, OverlayScrollbars.Easing], - complete?: (...args: any[]) => any - ): void; - scroll(coordinates: OverlayScrollbars.Coordinates, options: {}): void; + scroll(): OverlayScrollbars.ScrollInfo; + scroll( + coordinates: OverlayScrollbars.Coordinates, + duration?: number, + easing?: + | OverlayScrollbars.Easing + | { x?: OverlayScrollbars.Easing; y?: OverlayScrollbars.Easing } + | [OverlayScrollbars.Easing, OverlayScrollbars.Easing], + complete?: (...args: any[]) => any, + ): void; + scroll(coordinates: OverlayScrollbars.Coordinates, options: {}): void; - scrollStop(): OverlayScrollbars; + scrollStop(): OverlayScrollbars; - getElements(): OverlayScrollbars.Elements; - getElements(elementName: string): any; + getElements(): OverlayScrollbars.Elements; + getElements(elementName: string): any; - getState(): OverlayScrollbars.State; - getState(stateProperty: string): any; + getState(): OverlayScrollbars.State; + getState(stateProperty: string): any; - destroy(): void; + destroy(): void; - ext(): {}; - ext(extensionName: string): OverlayScrollbars.Extension; + ext(): {}; + ext(extensionName: string): OverlayScrollbars.Extension; - addExt(extensionName: string, options: {}): OverlayScrollbars.Extension; + addExt(extensionName: string, options: {}): OverlayScrollbars.Extension; - removeExt(extensionName: string): boolean; + removeExt(extensionName: string): boolean; } interface OverlayScrollbarsStatic { - ( - element: HTMLElement | Element, - options: OverlayScrollbars.Options, - extensions?: OverlayScrollbars.Extensions - ): OverlayScrollbars; - ( - element: HTMLElement | Element | null - ): OverlayScrollbars | undefined; + (element: HTMLElement | Element, options: OverlayScrollbars.Options, extensions?: OverlayScrollbars.Extensions): OverlayScrollbars; + (element: HTMLElement | Element | null): OverlayScrollbars | undefined; - ( - elements: NodeListOf | ReadonlyArray, - options: OverlayScrollbars.Options, - extensions?: OverlayScrollbars.Extensions - ): OverlayScrollbars | OverlayScrollbars[] | undefined; - ( - elements: NodeListOf | ReadonlyArray, - filter?: string | ((element: Element, instance: OverlayScrollbars) => boolean) - ): OverlayScrollbars | OverlayScrollbars[] | undefined; + (elements: NodeListOf | ReadonlyArray, options: OverlayScrollbars.Options, extensions?: OverlayScrollbars.Extensions): + | OverlayScrollbars + | OverlayScrollbars[] + | undefined; + (elements: NodeListOf | ReadonlyArray, filter?: string | ((element: Element, instance: OverlayScrollbars) => boolean)): + | OverlayScrollbars + | OverlayScrollbars[] + | undefined; - globals(): OverlayScrollbars.Globals; + globals(): OverlayScrollbars.Globals; - defaultOptions(): OverlayScrollbars.Options; - defaultOptions(newDefaultOptions: OverlayScrollbars.Options): void; + defaultOptions(): OverlayScrollbars.Options; + defaultOptions(newDefaultOptions: OverlayScrollbars.Options): void; - extension(): { [index: number]: OverlayScrollbars.ExtensionInfo; length: number }; - extension(extensionName: string): OverlayScrollbars.ExtensionInfo; - extension( - extensionName: string, - extensionFactory: (this: OverlayScrollbars, defaultOptions: {}, - compatibility: OverlayScrollbars.Compatibility, framework: any) => OverlayScrollbars.Extension, - defaultOptions?: {} - ): void; - extension(extensionName: string, extensionFactory: null | undefined): void; + extension(): { + [index: number]: OverlayScrollbars.ExtensionInfo; + length: number; + }; + extension(extensionName: string): OverlayScrollbars.ExtensionInfo; + extension( + extensionName: string, + extensionFactory: ( + this: OverlayScrollbars, + defaultOptions: {}, + compatibility: OverlayScrollbars.Compatibility, + framework: any, + ) => OverlayScrollbars.Extension, + defaultOptions?: {}, + ): void; + extension(extensionName: string, extensionFactory: null | undefined): void; - valid(osInstance: any): boolean; -} \ No newline at end of file + valid(osInstance: any): boolean; +} + +*/ diff --git a/packages/overlayscrollbars/tests/core/compatibility/vendors.test.ts b/packages/overlayscrollbars/tests/core/compatibility/vendors.test.ts index bf044a4..9a37ef9 100644 --- a/packages/overlayscrollbars/tests/core/compatibility/vendors.test.ts +++ b/packages/overlayscrollbars/tests/core/compatibility/vendors.test.ts @@ -1,87 +1,87 @@ import { jsAPI, cssProperty, cssPropertyValue } from 'core/compatibility/vendors'; describe('vendors', () => { - describe('jsAPI', () => { - test('gets MutationObserver', () => { - const mutationObserver = jsAPI('MutationObserver'); - expect(mutationObserver).toBe(MutationObserver); - }); - - test('gets requestAnimationFrame', () => { - const rAF = jsAPI('requestAnimationFrame'); - expect(rAF).toBe(requestAnimationFrame); - }); - - test('gets undefined', () => { - const apiWhichDontExist = jsAPI('apiWhichDontExist'); - expect(apiWhichDontExist).toBeUndefined(); - }); - - test('cache is used', () => { - const name = 'CacheTestJsAPIWhichDontExists'; - const fn = () => { }; - window[name] = fn; - - expect(jsAPI(name)).toBe(fn); - - delete window[name]; - - expect(jsAPI(name)).toBe(fn); - }); + describe('jsAPI', () => { + test('gets MutationObserver', () => { + const mutationObserver = jsAPI('MutationObserver'); + expect(mutationObserver).toBe(MutationObserver); }); - describe('cssProperty', () => { - test('gets transform', () => { - const transform = cssProperty('transform'); - expect(transform).not.toBeUndefined(); - }); - - test('gets undefined', () => { - const propWhichDontExist = cssProperty('propWhichDontExist'); - expect(propWhichDontExist).toBeUndefined(); - }); - - test('cache is used', () => { - const spy = jest.spyOn(Document.prototype, 'createElement'); - - cssProperty('cachePropWhichDontExist'); - expect(spy).toBeCalledTimes(1); - cssProperty('cachePropWhichDontExist'); - expect(spy).toBeCalledTimes(1); - }); + test('gets requestAnimationFrame', () => { + const rAF = jsAPI('requestAnimationFrame'); + expect(rAF).toBe(requestAnimationFrame); }); - describe('cssPropertyValue', () => { - test('gets calc', () => { - const calc = cssPropertyValue('width', 'calc', '(1px)'); - expect(calc).not.toBeUndefined(); - }); - - test('gets calc as second value', () => { - const calc = cssPropertyValue('width', 'nonexistend-calc calc', '(1px)'); - expect(calc).not.toBeUndefined(); - }); - - test('gets undefined', () => { - const nonexistend = cssPropertyValue('width', 'nonexistend'); - expect(nonexistend).toBeUndefined(); - }); - - test('cache is used', () => { - let expectedCalledTimes = 0; - const spy = jest.spyOn(Document.prototype, 'createElement'); - const run = (propName: string, propValue: string) => { - expectedCalledTimes++; - cssPropertyValue(propName, propValue); - expect(spy).toBeCalledTimes(expectedCalledTimes); - cssPropertyValue(propName, propValue); - expect(spy).toBeCalledTimes(expectedCalledTimes); - } - - run('width', 'cacheNonexistendValue'); - run('height', 'cacheNonexistendValue'); - run('width', 'cacheNonexistendValue cacheNonexistendValue2'); - run('height', 'cacheNonexistendValue cacheNonexistendValue2'); - }); + test('gets undefined', () => { + const apiWhichDontExist = jsAPI('apiWhichDontExist'); + expect(apiWhichDontExist).toBeUndefined(); }); -}); \ No newline at end of file + + test('cache is used', () => { + const name = 'CacheTestJsAPIWhichDontExists'; + const fn = () => {}; + window[name] = fn; + + expect(jsAPI(name)).toBe(fn); + + delete window[name]; + + expect(jsAPI(name)).toBe(fn); + }); + }); + + describe('cssProperty', () => { + test('gets transform', () => { + const transform = cssProperty('transform'); + expect(transform).not.toBeUndefined(); + }); + + test('gets undefined', () => { + const propWhichDontExist = cssProperty('propWhichDontExist'); + expect(propWhichDontExist).toBeUndefined(); + }); + + test('cache is used', () => { + const spy = jest.spyOn(Document.prototype, 'createElement'); + + cssProperty('cachePropWhichDontExist'); + expect(spy).toBeCalledTimes(1); + cssProperty('cachePropWhichDontExist'); + expect(spy).toBeCalledTimes(1); + }); + }); + + describe('cssPropertyValue', () => { + test('gets calc', () => { + const calc = cssPropertyValue('width', 'calc', '(1px)'); + expect(calc).not.toBeUndefined(); + }); + + test('gets calc as second value', () => { + const calc = cssPropertyValue('width', 'nonexistend-calc calc', '(1px)'); + expect(calc).not.toBeUndefined(); + }); + + test('gets undefined', () => { + const nonexistend = cssPropertyValue('width', 'nonexistend'); + expect(nonexistend).toBeUndefined(); + }); + + test('cache is used', () => { + let expectedCalledTimes = 0; + const spy = jest.spyOn(Document.prototype, 'createElement'); + const run = (propName: string, propValue: string) => { + expectedCalledTimes++; + cssPropertyValue(propName, propValue); + expect(spy).toBeCalledTimes(expectedCalledTimes); + cssPropertyValue(propName, propValue); + expect(spy).toBeCalledTimes(expectedCalledTimes); + }; + + run('width', 'cacheNonexistendValue'); + run('height', 'cacheNonexistendValue'); + run('width', 'cacheNonexistendValue cacheNonexistendValue2'); + run('height', 'cacheNonexistendValue cacheNonexistendValue2'); + }); + }); +}); diff --git a/packages/overlayscrollbars/tests/core/dom/attributes.test.ts b/packages/overlayscrollbars/tests/core/dom/attributes.test.ts index ecf4e13..d8c9324 100644 --- a/packages/overlayscrollbars/tests/core/dom/attributes.test.ts +++ b/packages/overlayscrollbars/tests/core/dom/attributes.test.ts @@ -1,97 +1,97 @@ -import { attr, removeAttr, val, scrollLeft, scrollTop } from 'core/dom/attributes'; +import { attr, removeAttr, val, scrollLeft, scrollTop } from 'core/dom/attribute'; const testElm = document.body; const setAttribute = (name: string, value: string) => { - testElm.setAttribute(name, value); + testElm.setAttribute(name, value); }; const setScrollLeft = (value: number) => { - testElm.scrollLeft = value; + testElm.scrollLeft = value; }; const setScrollTop = (value: number) => { - testElm.scrollTop = value; + testElm.scrollTop = value; }; const removeAttribute = (name: string) => { - testElm.removeAttribute(name); + testElm.removeAttribute(name); }; describe('dom attributes', () => { - describe('attr', () => { - test('get', () => { - const attrName = 'data-test-get'; + describe('attr', () => { + test('get', () => { + const attrName = 'data-test-get'; - setAttribute(attrName, '123'); - expect(attr(testElm, attrName)).toBe('123'); + setAttribute(attrName, '123'); + expect(attr(testElm, attrName)).toBe('123'); - setAttribute(attrName, 'abc'); - expect(attr(testElm, attrName)).toBe('abc'); + setAttribute(attrName, 'abc'); + expect(attr(testElm, attrName)).toBe('abc'); - removeAttribute(attrName); - }); - - test('set', () => { - const attrName = 'data-test-set'; - - attr(testElm, attrName, '123'); - expect(attr(testElm, attrName)).toBe('123'); - - attr(testElm, attrName, 'abc'); - expect(attr(testElm, attrName)).toBe('abc'); - - removeAttribute(attrName); - }); + removeAttribute(attrName); }); - describe('scrollLeft', () => { - test('get', () => { - setScrollLeft(100); - expect(scrollLeft(testElm)).toBe(100); - setScrollLeft(0); - }); + test('set', () => { + const attrName = 'data-test-set'; - test('set', () => { - scrollLeft(testElm, 100); - expect(scrollLeft(testElm)).toBe(100); - setScrollLeft(0); - }); + attr(testElm, attrName, '123'); + expect(attr(testElm, attrName)).toBe('123'); + + attr(testElm, attrName, 'abc'); + expect(attr(testElm, attrName)).toBe('abc'); + + removeAttribute(attrName); + }); + }); + + describe('scrollLeft', () => { + test('get', () => { + setScrollLeft(100); + expect(scrollLeft(testElm)).toBe(100); + setScrollLeft(0); }); - describe('scrollTop', () => { - test('get', () => { - setScrollTop(100); - expect(scrollTop(testElm)).toBe(100); - setScrollTop(0); - }); + test('set', () => { + scrollLeft(testElm, 100); + expect(scrollLeft(testElm)).toBe(100); + setScrollLeft(0); + }); + }); - test('set', () => { - scrollTop(testElm, 100); - expect(scrollTop(testElm)).toBe(100); - setScrollTop(0); - }); + describe('scrollTop', () => { + test('get', () => { + setScrollTop(100); + expect(scrollTop(testElm)).toBe(100); + setScrollTop(0); }); - describe('val', () => { - const input = document.createElement('input'); + test('set', () => { + scrollTop(testElm, 100); + expect(scrollTop(testElm)).toBe(100); + setScrollTop(0); + }); + }); - test('get', () => { - input.value = 'hi'; - expect(val(input)).toBe('hi'); - input.value = ''; - }); + describe('val', () => { + const input = document.createElement('input'); - test('set', () => { - val(input, 'hi2'); - expect(val(input)).toBe('hi2'); - val(input, ''); - expect(val(input)).toBe(''); - }); + test('get', () => { + input.value = 'hi'; + expect(val(input)).toBe('hi'); + input.value = ''; }); - test('remove attribute', () => { - const attrName = 'data-test-remove'; - - setAttribute(attrName, '123'); - removeAttr(testElm, attrName); - - expect(attr(testElm, attrName)).toBeNull(); + test('set', () => { + val(input, 'hi2'); + expect(val(input)).toBe('hi2'); + val(input, ''); + expect(val(input)).toBe(''); }); -}); \ No newline at end of file + }); + + test('remove attribute', () => { + const attrName = 'data-test-remove'; + + setAttribute(attrName, '123'); + removeAttr(testElm, attrName); + + expect(attr(testElm, attrName)).toBeNull(); + }); +}); diff --git a/packages/overlayscrollbars/tests/core/dom/classes.test.ts b/packages/overlayscrollbars/tests/core/dom/classes.test.ts index d3bcada..a3af435 100644 --- a/packages/overlayscrollbars/tests/core/dom/classes.test.ts +++ b/packages/overlayscrollbars/tests/core/dom/classes.test.ts @@ -1,85 +1,83 @@ -import { addClass, removeClass, hasClass, conditionalClass } from 'core/dom/classes'; +import { addClass, removeClass, hasClass, conditionalClass } from 'core/dom/class'; const testElm = document.body; const removeAllClassNames = () => { - while (testElm.classList.length > 0) { - const classToRemove = testElm.classList.item(0); - if (classToRemove) { - testElm.classList.remove(classToRemove); - } + while (testElm.classList.length > 0) { + const classToRemove = testElm.classList.item(0); + if (classToRemove) { + testElm.classList.remove(classToRemove); } + } }; -const hasClassName = (className: string) => { - return testElm.classList.contains(className); -}; +const hasClassName = (className: string) => testElm.classList.contains(className); describe('dom class names', () => { - afterEach(() => { - removeAllClassNames(); - }); + afterEach(() => { + removeAllClassNames(); + }); - test('add none', () => { - addClass(testElm, ''); - // @ts-ignore - addClass(testElm, null); - // @ts-ignore - addClass(testElm, 2); - expect(testElm.classList.length).toBe(0); - }); + test('add none', () => { + addClass(testElm, ''); + // @ts-ignore + addClass(testElm, null); + // @ts-ignore + addClass(testElm, 2); + expect(testElm.classList.length).toBe(0); + }); - test('add single', () => { - addClass(testElm, 'test-class'); - expect(hasClassName('test-class')).toBe(true); - }); + test('add single', () => { + addClass(testElm, 'test-class'); + expect(hasClassName('test-class')).toBe(true); + }); - test('add multiple', () => { - addClass(testElm, 'test-class test-class2'); - expect(hasClassName('test-class')).toBe(true); - expect(hasClassName('test-class2')).toBe(true); - }); + test('add multiple', () => { + addClass(testElm, 'test-class test-class2'); + expect(hasClassName('test-class')).toBe(true); + expect(hasClassName('test-class2')).toBe(true); + }); - test('remove none', () => { - addClass(testElm, 'test-class'); - removeClass(testElm, ''); - // @ts-ignore - removeClass(testElm, null); - // @ts-ignore - removeClass(testElm, 2); - expect(testElm.classList.length).toBe(1); - }); + test('remove none', () => { + addClass(testElm, 'test-class'); + removeClass(testElm, ''); + // @ts-ignore + removeClass(testElm, null); + // @ts-ignore + removeClass(testElm, 2); + expect(testElm.classList.length).toBe(1); + }); - test('remove single', () => { - addClass(testElm, 'test-class'); - expect(hasClassName('test-class')).toBe(true); - removeClass(testElm, 'test-class'); - expect(hasClassName('test-class')).toBe(false); - }); + test('remove single', () => { + addClass(testElm, 'test-class'); + expect(hasClassName('test-class')).toBe(true); + removeClass(testElm, 'test-class'); + expect(hasClassName('test-class')).toBe(false); + }); - test('remove multiple', () => { - addClass(testElm, 'test-class test-class2'); - removeClass(testElm, 'test-class test-class2'); - expect(hasClassName('test-class')).toBe(false); - expect(hasClassName('test-class2')).toBe(false); - }); + test('remove multiple', () => { + addClass(testElm, 'test-class test-class2'); + removeClass(testElm, 'test-class test-class2'); + expect(hasClassName('test-class')).toBe(false); + expect(hasClassName('test-class2')).toBe(false); + }); - test('has', () => { - addClass(testElm, 'test-class'); - expect(hasClass(testElm, 'test-class')).toBe(true); - }); + test('has', () => { + addClass(testElm, 'test-class'); + expect(hasClass(testElm, 'test-class')).toBe(true); + }); - test('conditional single', () => { - conditionalClass(testElm, 'test-class', true) - expect(hasClass(testElm, 'test-class')).toBe(true); - conditionalClass(testElm, 'test-class', false) - expect(hasClass(testElm, 'test-class')).toBe(false); - }); + test('conditional single', () => { + conditionalClass(testElm, 'test-class', true); + expect(hasClass(testElm, 'test-class')).toBe(true); + conditionalClass(testElm, 'test-class', false); + expect(hasClass(testElm, 'test-class')).toBe(false); + }); - test('conditional multiple', () => { - conditionalClass(testElm, 'test-class test-class2', true) - expect(hasClass(testElm, 'test-class')).toBe(true); - expect(hasClass(testElm, 'test-class2')).toBe(true); - conditionalClass(testElm, 'test-class test-class2', false) - expect(hasClass(testElm, 'test-class')).toBe(false); - expect(hasClass(testElm, 'test-class2')).toBe(false); - }); -}); \ No newline at end of file + test('conditional multiple', () => { + conditionalClass(testElm, 'test-class test-class2', true); + expect(hasClass(testElm, 'test-class')).toBe(true); + expect(hasClass(testElm, 'test-class2')).toBe(true); + conditionalClass(testElm, 'test-class test-class2', false); + expect(hasClass(testElm, 'test-class')).toBe(false); + expect(hasClass(testElm, 'test-class2')).toBe(false); + }); +}); diff --git a/packages/overlayscrollbars/tests/core/dom/create.test.ts b/packages/overlayscrollbars/tests/core/dom/create.test.ts index 6800f20..f390c9e 100644 --- a/packages/overlayscrollbars/tests/core/dom/create.test.ts +++ b/packages/overlayscrollbars/tests/core/dom/create.test.ts @@ -2,73 +2,74 @@ import { each } from 'core/utils'; import { createDiv, createDOM } from 'core/dom/create'; const slotElm = document.body; -const testHTML = '

2

'; +const testHTML = + '

2

'; describe('dom create', () => { - afterEach(() => { - slotElm.innerHTML = ''; + afterEach(() => { + slotElm.innerHTML = ''; + }); + + describe('createDiv', () => { + test('correct element tag', () => { + const createdDiv = createDiv(); + expect(createdDiv.tagName.toLowerCase()).toBe('div'); }); - describe('createDiv', () => { - test('correct element tag', () => { - const createdDiv = createDiv(); - expect(createdDiv.tagName.toLowerCase()).toBe('div'); - }); - - test('no class names', () => { - const createdDiv = createDiv(); - expect(createdDiv.classList.length).toBe(0); - }); - - test('no style', () => { - const createdDiv = createDiv(); - expect(createdDiv.style.length).toBe(0); - }); - - test('not in document', () => { - const createdDiv = createDiv(); - expect(createdDiv.parentElement).toBe(null); - }); + test('no class names', () => { + const createdDiv = createDiv(); + expect(createdDiv.classList.length).toBe(0); }); - describe('createDOM', () => { - test('correct elements length', () => { - const dom = createDOM(testHTML); - expect(dom.length).toBe(3); - }); - - test('elements arent child of any element', () => { - const dom = createDOM(testHTML); - each(dom, (elm) => { - expect(elm.parentElement).toBe(null); - }); - }); - - test('elements are created correctly', () => { - const dom = createDOM(testHTML); - each(dom, (elm) => { - slotElm.append(elm); - }); - const parentElm = slotElm.querySelector('#parent'); - const childElm = slotElm.querySelector('#child'); - const pElm = slotElm.querySelector('p'); - const inputElm = slotElm.querySelector('input'); - - expect(parentElm).toBeDefined(); - expect(childElm).toBeDefined(); - expect(pElm).toBeDefined(); - expect(inputElm).toBeDefined(); - - expect(parentElm?.parentElement).toBe(slotElm); - expect(pElm?.parentElement).toBe(slotElm); - expect(inputElm?.parentElement).toBe(slotElm); - expect(childElm?.parentElement).toBe(parentElm); - - expect(parentElm?.classList.contains('parent-class')).toBeTruthy(); - expect(childElm?.classList.contains('child-class')).toBeTruthy(); - expect(pElm?.textContent).toBe('2'); - expect(inputElm?.value).toBe('3'); - expect(inputElm?.getAttribute('type')).toBe('text'); - }); + test('no style', () => { + const createdDiv = createDiv(); + expect(createdDiv.style.length).toBe(0); }); -}); \ No newline at end of file + + test('not in document', () => { + const createdDiv = createDiv(); + expect(createdDiv.parentElement).toBe(null); + }); + }); + + describe('createDOM', () => { + test('correct elements length', () => { + const dom = createDOM(testHTML); + expect(dom.length).toBe(3); + }); + + test('elements arent child of any element', () => { + const dom = createDOM(testHTML); + each(dom, (elm) => { + expect(elm.parentElement).toBe(null); + }); + }); + + test('elements are created correctly', () => { + const dom = createDOM(testHTML); + each(dom, (elm) => { + slotElm.append(elm); + }); + const parentElm = slotElm.querySelector('#parent'); + const childElm = slotElm.querySelector('#child'); + const pElm = slotElm.querySelector('p'); + const inputElm = slotElm.querySelector('input'); + + expect(parentElm).toBeDefined(); + expect(childElm).toBeDefined(); + expect(pElm).toBeDefined(); + expect(inputElm).toBeDefined(); + + expect(parentElm?.parentElement).toBe(slotElm); + expect(pElm?.parentElement).toBe(slotElm); + expect(inputElm?.parentElement).toBe(slotElm); + expect(childElm?.parentElement).toBe(parentElm); + + expect(parentElm?.classList.contains('parent-class')).toBeTruthy(); + expect(childElm?.classList.contains('child-class')).toBeTruthy(); + expect(pElm?.textContent).toBe('2'); + expect(inputElm?.value).toBe('3'); + expect(inputElm?.getAttribute('type')).toBe('text'); + }); + }); +}); diff --git a/packages/overlayscrollbars/tests/core/dom/manipulation.test.ts b/packages/overlayscrollbars/tests/core/dom/manipulation.test.ts index dca1f4b..4205bd4 100644 --- a/packages/overlayscrollbars/tests/core/dom/manipulation.test.ts +++ b/packages/overlayscrollbars/tests/core/dom/manipulation.test.ts @@ -3,347 +3,352 @@ import { each, isArray, isHTMLElement } from 'core/utils'; const slotElm = document.body; const fillSlotElm = () => { - const content = [createDiv(), createDiv(), createDiv(), createDiv(), createDiv()]; - content.forEach((elm, i) => { - elm.setAttribute('id', i.toString()); - slotElm.append(elm); - }); + const content = [createDiv(), createDiv(), createDiv(), createDiv(), createDiv()]; + content.forEach((elm, i) => { + elm.setAttribute('id', i.toString()); + slotElm.append(elm); + }); }; const clearSlotElm = () => { - contents(slotElm).forEach(elm => { - elm.remove(); - }); + contents(slotElm).forEach((elm) => { + elm.remove(); + }); }; -const compareToNative = (target: Node, method: string, snapshot: Array, elms: Element | Node | Array | Array, compareIds: boolean = false) => { - if (!compareIds) { - if (!isArray(elms)) { - elms = [elms]; - } - elms.forEach(e => { - if (isHTMLElement(e)) - e.remove(); - }); - target[method](...elms); - expect(Array.from(slotElm.childNodes)).toEqual(snapshot); +const compareToNative = ( + target: Node, + method: string, + snapshot: Array, + elms: Element | Node | Array | Array, + compareIds = false, +) => { + if (!compareIds) { + if (!isArray(elms)) { + elms = [elms]; } - else { - clearSlotElm(); - fillSlotElm(); + elms.forEach((e) => { + if (isHTMLElement(e)) { + e.remove(); + } + }); + target[method](...elms); + expect(Array.from(slotElm.childNodes)).toEqual(snapshot); + } else { + clearSlotElm(); + fillSlotElm(); - - if (!isArray(elms)) { - elms = [elms]; - } - - const realElms: Array = []; - elms.forEach((elm) => { - slotElm.childNodes.forEach((child) => { - if (isHTMLElement(child)) { - if (isHTMLElement(elm) && child.getAttribute('id') === elm.getAttribute('id')) { - realElms.push(child); - } - if (compareIds && target !== slotElm && isHTMLElement(target) && child.getAttribute('id') === target.getAttribute('id')) { - target = child; - } - } - }) - }); - - target[method](...realElms); - - const mapIds = (elm: Node) => isHTMLElement(elm) ? elm.getAttribute('id') || '' : ''; - const snapshotIdArr: Array = snapshot.map(mapIds); - const elmsIdArr: Array = Array.from(slotElm.childNodes).map(mapIds); - - expect(JSON.stringify(elmsIdArr)).toEqual(JSON.stringify(snapshotIdArr)); + if (!isArray(elms)) { + elms = [elms]; } + + const realElms: Array = []; + elms.forEach((elm) => { + slotElm.childNodes.forEach((child) => { + if (isHTMLElement(child)) { + if (isHTMLElement(elm) && child.getAttribute('id') === elm.getAttribute('id')) { + realElms.push(child); + } + if (compareIds && target !== slotElm && isHTMLElement(target) && child.getAttribute('id') === target.getAttribute('id')) { + target = child; + } + } + }); + }); + + target[method](...realElms); + + const mapIds = (elm: Node) => (isHTMLElement(elm) ? elm.getAttribute('id') || '' : ''); + const snapshotIdArr: Array = snapshot.map(mapIds); + const elmsIdArr: Array = Array.from(slotElm.childNodes).map(mapIds); + + expect(JSON.stringify(elmsIdArr)).toEqual(JSON.stringify(snapshotIdArr)); + } }; describe('dom manipulation', () => { - beforeEach(() => fillSlotElm()); - afterEach(() => clearSlotElm()); + beforeEach(() => fillSlotElm()); + afterEach(() => clearSlotElm()); - describe('appendChildren', () => { - test('single created', () => { - const createdDiv = createDiv(); - const childNodes = slotElm.childNodes; - const length = childNodes.length; + describe('appendChildren', () => { + test('single created', () => { + const createdDiv = createDiv(); + const { childNodes } = slotElm; + const { length } = childNodes; - appendChildren(slotElm, createdDiv); - expect(createdDiv).toBe(childNodes[childNodes.length - 1]); - expect(childNodes.length).toBe(length + 1); + appendChildren(slotElm, createdDiv); + expect(createdDiv).toBe(childNodes[childNodes.length - 1]); + expect(childNodes.length).toBe(length + 1); - compareToNative(slotElm, 'append', Array.from(childNodes), createdDiv); - }); - - test('multiple created', () => { - const createdDivs = [createDiv(), createDiv(), createDiv()]; - const childNodes = slotElm.childNodes; - const length = childNodes.length; - - appendChildren(slotElm, createdDivs); - expect(createdDivs[0]).toBe(childNodes[childNodes.length - 3]); - expect(createdDivs[1]).toBe(childNodes[childNodes.length - 2]); - expect(createdDivs[2]).toBe(childNodes[childNodes.length - 1]); - expect(childNodes.length).toBe(length + createdDivs.length); - - compareToNative(slotElm, 'append', Array.from(childNodes), createdDivs); - }); - - test('single existing', () => { - const childNodes = slotElm.childNodes; - const elm = childNodes[1]; - - appendChildren(slotElm, elm); - expect(elm).toBe(childNodes[childNodes.length - 1]); - - compareToNative(slotElm, 'append', Array.from(childNodes), elm, true); - }); - - test('multiple existing', () => { - const childNodes = slotElm.childNodes; - const elms = [childNodes[1], childNodes[0], childNodes[2]]; - - appendChildren(slotElm, elms); - expect(elms[0]).toBe(childNodes[childNodes.length - 3]); - expect(elms[1]).toBe(childNodes[childNodes.length - 2]); - expect(elms[2]).toBe(childNodes[childNodes.length - 1]); - - compareToNative(slotElm, 'append', Array.from(childNodes), elms, true); - }); - - test('none', () => { - const childNodes = slotElm.childNodes; - const length = childNodes.length; - - appendChildren(slotElm, null); - appendChildren(null, childNodes); - - expect(childNodes.length).toBe(length); - }); + compareToNative(slotElm, 'append', Array.from(childNodes), createdDiv); }); - describe('prependChildren', () => { - test('single created', () => { - const createdDiv = createDiv(); - const childNodes = slotElm.childNodes; - const length = childNodes.length; + test('multiple created', () => { + const createdDivs = [createDiv(), createDiv(), createDiv()]; + const { childNodes } = slotElm; + const { length } = childNodes; - prependChildren(slotElm, createdDiv); - expect(createdDiv).toBe(childNodes[0]); - expect(childNodes.length).toBe(length + 1); + appendChildren(slotElm, createdDivs); + expect(createdDivs[0]).toBe(childNodes[childNodes.length - 3]); + expect(createdDivs[1]).toBe(childNodes[childNodes.length - 2]); + expect(createdDivs[2]).toBe(childNodes[childNodes.length - 1]); + expect(childNodes.length).toBe(length + createdDivs.length); - compareToNative(slotElm, 'prepend', Array.from(childNodes), createdDiv); - }); - - test('multiple created', () => { - const createdDivs = [createDiv(), createDiv(), createDiv()]; - const childNodes = slotElm.childNodes; - const length = childNodes.length; - - prependChildren(slotElm, createdDivs); - expect(createdDivs[0]).toBe(childNodes[0]); - expect(createdDivs[1]).toBe(childNodes[1]); - expect(createdDivs[2]).toBe(childNodes[2]); - expect(childNodes.length).toBe(length + createdDivs.length); - - compareToNative(slotElm, 'prepend', Array.from(childNodes), createdDivs); - }); - - test('single existing', () => { - const childNodes = slotElm.childNodes; - const elm = childNodes[1]; - - prependChildren(slotElm, elm); - expect(elm).toBe(childNodes[0]); - - compareToNative(slotElm, 'prepend', Array.from(childNodes), elm, true); - }); - - test('multiple existing', () => { - const childNodes = slotElm.childNodes; - const elms = [childNodes[1], childNodes[0], childNodes[2]]; - - prependChildren(slotElm, elms); - expect(elms[0]).toBe(childNodes[0]); - expect(elms[1]).toBe(childNodes[1]); - expect(elms[2]).toBe(childNodes[2]); - - compareToNative(slotElm, 'prepend', Array.from(childNodes), elms, true); - }); - - test('none', () => { - const childNodes = slotElm.childNodes; - const length = childNodes.length; - - prependChildren(slotElm, null); - prependChildren(null, childNodes); - - expect(childNodes.length).toBe(length); - }); + compareToNative(slotElm, 'append', Array.from(childNodes), createdDivs); }); - describe('insertBefore', () => { - test('single created', () => { - const createdDiv = createDiv(); - const childNodes = slotElm.childNodes; - const length = childNodes.length; - const target = childNodes[1]; + test('single existing', () => { + const { childNodes } = slotElm; + const elm = childNodes[1]; - insertBefore(target, createdDiv); - expect(createdDiv).toBe(childNodes[1]); - expect(childNodes.length).toBe(length + 1); + appendChildren(slotElm, elm); + expect(elm).toBe(childNodes[childNodes.length - 1]); - compareToNative(target, 'before', Array.from(childNodes), createdDiv); - }); - - test('multiple created', () => { - const createdDivs = [createDiv(), createDiv(), createDiv()]; - const childNodes = slotElm.childNodes; - const length = childNodes.length; - const target = childNodes[1]; - - insertBefore(target, createdDivs); - expect(createdDivs[0]).toBe(childNodes[1]); - expect(createdDivs[1]).toBe(childNodes[2]); - expect(createdDivs[2]).toBe(childNodes[3]); - expect(childNodes.length).toBe(length + createdDivs.length); - - compareToNative(target, 'before', Array.from(childNodes), createdDivs); - }); - - test('single existing', () => { - const childNodes = slotElm.childNodes; - const target = childNodes[1]; - const elm = childNodes[2]; - - insertBefore(target, elm); - expect(elm).toBe(childNodes[1]); - - compareToNative(target, 'before', Array.from(childNodes), elm, true); - }); - - test('multiple existing', () => { - const childNodes = slotElm.childNodes; - const target = childNodes[1]; - const elms = [childNodes[4], childNodes[1], childNodes[2]]; - - insertBefore(target, elms); - expect(elms[0]).toBe(childNodes[1]); - expect(elms[1]).toBe(childNodes[2]); - expect(elms[2]).toBe(childNodes[3]); - - compareToNative(target, 'before', Array.from(childNodes), elms, true); - }); - - test('none', () => { - const childNodes = slotElm.childNodes; - const length = childNodes.length; - - insertBefore(slotElm, null); - insertBefore(null, childNodes); - - expect(childNodes.length).toBe(length); - }); + compareToNative(slotElm, 'append', Array.from(childNodes), elm, true); }); - describe('insertAfter', () => { - test('single created', () => { - const createdDiv = createDiv(); - const childNodes = slotElm.childNodes; - const length = childNodes.length; - const target = childNodes[1]; + test('multiple existing', () => { + const { childNodes } = slotElm; + const elms = [childNodes[1], childNodes[0], childNodes[2]]; - insertAfter(target, createdDiv); - expect(createdDiv).toBe(childNodes[2]); - expect(childNodes.length).toBe(length + 1); + appendChildren(slotElm, elms); + expect(elms[0]).toBe(childNodes[childNodes.length - 3]); + expect(elms[1]).toBe(childNodes[childNodes.length - 2]); + expect(elms[2]).toBe(childNodes[childNodes.length - 1]); - compareToNative(target, 'after', Array.from(childNodes), createdDiv); - }); - - test('multiple created', () => { - const createdDivs = [createDiv(), createDiv(), createDiv()]; - const childNodes = slotElm.childNodes; - const length = childNodes.length; - const target = childNodes[1]; - - insertAfter(target, createdDivs); - expect(createdDivs[0]).toBe(childNodes[2]); - expect(createdDivs[1]).toBe(childNodes[3]); - expect(createdDivs[2]).toBe(childNodes[4]); - expect(childNodes.length).toBe(length + createdDivs.length); - - compareToNative(target, 'after', Array.from(childNodes), createdDivs); - }); - - test('single existing', () => { - const childNodes = slotElm.childNodes; - const target = childNodes[1]; - const elm = childNodes[0]; - - insertAfter(target, elm); - expect(elm).toBe(childNodes[1]); - - compareToNative(target, 'after', Array.from(childNodes), elm, true); - }); - - test('multiple existing', () => { - const childNodes = slotElm.childNodes; - const target = childNodes[1]; - const elms = [childNodes[4], childNodes[1], childNodes[2]]; - - insertAfter(target, elms); - expect(elms[0]).toBe(childNodes[1]); - expect(elms[1]).toBe(childNodes[2]); - expect(elms[2]).toBe(childNodes[3]); - - compareToNative(target, 'after', Array.from(childNodes), elms, true); - }); - - test('none', () => { - const childNodes = slotElm.childNodes; - const length = childNodes.length; - - insertAfter(slotElm, null); - insertAfter(null, childNodes); - - expect(childNodes.length).toBe(length); - }); + compareToNative(slotElm, 'append', Array.from(childNodes), elms, true); }); - describe('removeElm', () => { - test('single created', () => { - const createdDiv = createDiv(); - expect(createdDiv.parentElement).toBeNull(); - removeElements(createdDiv); - }); + test('none', () => { + const { childNodes } = slotElm; + const { length } = childNodes; - test('multiple created', () => { - const createdDivs: Array = [createDiv(), createDiv(), createDiv(), createDiv()]; - each(createdDivs, (createdDiv: HTMLElement) => { - expect(createdDiv.parentElement).toBeNull(); - }); - removeElements(createdDivs); - }); + appendChildren(slotElm, null); + appendChildren(null, childNodes); - test('single existing', () => { - const childNodes = slotElm.childNodes; - const length = childNodes.length; - expect(length).not.toBe(0); - removeElements(childNodes[0]); - expect(childNodes.length).toBe(length - 1); - }); - - test('multiple existing', () => { - const childNodes = slotElm.childNodes; - expect(childNodes.length).not.toBe(0) - removeElements(childNodes); - expect(childNodes.length).toBe(0); - }); - - test('none', () => { - // @ts-ignore - removeElements(null); - }); + expect(childNodes.length).toBe(length); }); -}); \ No newline at end of file + }); + + describe('prependChildren', () => { + test('single created', () => { + const createdDiv = createDiv(); + const { childNodes } = slotElm; + const { length } = childNodes; + + prependChildren(slotElm, createdDiv); + expect(createdDiv).toBe(childNodes[0]); + expect(childNodes.length).toBe(length + 1); + + compareToNative(slotElm, 'prepend', Array.from(childNodes), createdDiv); + }); + + test('multiple created', () => { + const createdDivs = [createDiv(), createDiv(), createDiv()]; + const { childNodes } = slotElm; + const { length } = childNodes; + + prependChildren(slotElm, createdDivs); + expect(createdDivs[0]).toBe(childNodes[0]); + expect(createdDivs[1]).toBe(childNodes[1]); + expect(createdDivs[2]).toBe(childNodes[2]); + expect(childNodes.length).toBe(length + createdDivs.length); + + compareToNative(slotElm, 'prepend', Array.from(childNodes), createdDivs); + }); + + test('single existing', () => { + const { childNodes } = slotElm; + const elm = childNodes[1]; + + prependChildren(slotElm, elm); + expect(elm).toBe(childNodes[0]); + + compareToNative(slotElm, 'prepend', Array.from(childNodes), elm, true); + }); + + test('multiple existing', () => { + const { childNodes } = slotElm; + const elms = [childNodes[1], childNodes[0], childNodes[2]]; + + prependChildren(slotElm, elms); + expect(elms[0]).toBe(childNodes[0]); + expect(elms[1]).toBe(childNodes[1]); + expect(elms[2]).toBe(childNodes[2]); + + compareToNative(slotElm, 'prepend', Array.from(childNodes), elms, true); + }); + + test('none', () => { + const { childNodes } = slotElm; + const { length } = childNodes; + + prependChildren(slotElm, null); + prependChildren(null, childNodes); + + expect(childNodes.length).toBe(length); + }); + }); + + describe('insertBefore', () => { + test('single created', () => { + const createdDiv = createDiv(); + const { childNodes } = slotElm; + const { length } = childNodes; + const target = childNodes[1]; + + insertBefore(target, createdDiv); + expect(createdDiv).toBe(childNodes[1]); + expect(childNodes.length).toBe(length + 1); + + compareToNative(target, 'before', Array.from(childNodes), createdDiv); + }); + + test('multiple created', () => { + const createdDivs = [createDiv(), createDiv(), createDiv()]; + const { childNodes } = slotElm; + const { length } = childNodes; + const target = childNodes[1]; + + insertBefore(target, createdDivs); + expect(createdDivs[0]).toBe(childNodes[1]); + expect(createdDivs[1]).toBe(childNodes[2]); + expect(createdDivs[2]).toBe(childNodes[3]); + expect(childNodes.length).toBe(length + createdDivs.length); + + compareToNative(target, 'before', Array.from(childNodes), createdDivs); + }); + + test('single existing', () => { + const { childNodes } = slotElm; + const target = childNodes[1]; + const elm = childNodes[2]; + + insertBefore(target, elm); + expect(elm).toBe(childNodes[1]); + + compareToNative(target, 'before', Array.from(childNodes), elm, true); + }); + + test('multiple existing', () => { + const { childNodes } = slotElm; + const target = childNodes[1]; + const elms = [childNodes[4], childNodes[1], childNodes[2]]; + + insertBefore(target, elms); + expect(elms[0]).toBe(childNodes[1]); + expect(elms[1]).toBe(childNodes[2]); + expect(elms[2]).toBe(childNodes[3]); + + compareToNative(target, 'before', Array.from(childNodes), elms, true); + }); + + test('none', () => { + const { childNodes } = slotElm; + const { length } = childNodes; + + insertBefore(slotElm, null); + insertBefore(null, childNodes); + + expect(childNodes.length).toBe(length); + }); + }); + + describe('insertAfter', () => { + test('single created', () => { + const createdDiv = createDiv(); + const { childNodes } = slotElm; + const { length } = childNodes; + const target = childNodes[1]; + + insertAfter(target, createdDiv); + expect(createdDiv).toBe(childNodes[2]); + expect(childNodes.length).toBe(length + 1); + + compareToNative(target, 'after', Array.from(childNodes), createdDiv); + }); + + test('multiple created', () => { + const createdDivs = [createDiv(), createDiv(), createDiv()]; + const { childNodes } = slotElm; + const { length } = childNodes; + const target = childNodes[1]; + + insertAfter(target, createdDivs); + expect(createdDivs[0]).toBe(childNodes[2]); + expect(createdDivs[1]).toBe(childNodes[3]); + expect(createdDivs[2]).toBe(childNodes[4]); + expect(childNodes.length).toBe(length + createdDivs.length); + + compareToNative(target, 'after', Array.from(childNodes), createdDivs); + }); + + test('single existing', () => { + const { childNodes } = slotElm; + const target = childNodes[1]; + const elm = childNodes[0]; + + insertAfter(target, elm); + expect(elm).toBe(childNodes[1]); + + compareToNative(target, 'after', Array.from(childNodes), elm, true); + }); + + test('multiple existing', () => { + const { childNodes } = slotElm; + const target = childNodes[1]; + const elms = [childNodes[4], childNodes[1], childNodes[2]]; + + insertAfter(target, elms); + expect(elms[0]).toBe(childNodes[1]); + expect(elms[1]).toBe(childNodes[2]); + expect(elms[2]).toBe(childNodes[3]); + + compareToNative(target, 'after', Array.from(childNodes), elms, true); + }); + + test('none', () => { + const { childNodes } = slotElm; + const { length } = childNodes; + + insertAfter(slotElm, null); + insertAfter(null, childNodes); + + expect(childNodes.length).toBe(length); + }); + }); + + describe('removeElm', () => { + test('single created', () => { + const createdDiv = createDiv(); + expect(createdDiv.parentElement).toBeNull(); + removeElements(createdDiv); + }); + + test('multiple created', () => { + const createdDivs: Array = [createDiv(), createDiv(), createDiv(), createDiv()]; + each(createdDivs, (createdDiv: HTMLElement) => { + expect(createdDiv.parentElement).toBeNull(); + }); + removeElements(createdDivs); + }); + + test('single existing', () => { + const { childNodes } = slotElm; + const { length } = childNodes; + expect(length).not.toBe(0); + removeElements(childNodes[0]); + expect(childNodes.length).toBe(length - 1); + }); + + test('multiple existing', () => { + const { childNodes } = slotElm; + expect(childNodes.length).not.toBe(0); + removeElements(childNodes); + expect(childNodes.length).toBe(0); + }); + + test('none', () => { + // @ts-ignore + removeElements(null); + }); + }); +}); diff --git a/packages/overlayscrollbars/tests/core/dom/traversal.test.ts b/packages/overlayscrollbars/tests/core/dom/traversal.test.ts index d7c1c3d..e9116a3 100644 --- a/packages/overlayscrollbars/tests/core/dom/traversal.test.ts +++ b/packages/overlayscrollbars/tests/core/dom/traversal.test.ts @@ -4,210 +4,210 @@ const slotElm = document.body; const testHTML = '

2

abc'; describe('dom traversal', () => { - beforeEach(() => { - slotElm.innerHTML = testHTML; - }); - afterEach(() => { - slotElm.innerHTML = ''; + beforeEach(() => { + slotElm.innerHTML = testHTML; + }); + afterEach(() => { + slotElm.innerHTML = ''; + }); + + describe('find', () => { + test('by class', () => { + const divClass = find('.div-class'); + + expect(divClass.length).toBe(2); + expect(divClass[1].parentElement).toBe(divClass[0]); }); - describe('find', () => { - test('by class', () => { - const divClass = find('.div-class'); + test('by id', () => { + const parentId = find('#parent'); - expect(divClass.length).toBe(2); - expect(divClass[1].parentElement).toBe(divClass[0]); - }); - - test('by id', () => { - const parentId = find('#parent'); - - expect(parentId.length).toBe(1); - expect(parentId[0]).toBe(document.querySelector('#parent')); - }); - - test('all', () => { - const all = find('*'); - const allNative = document.querySelectorAll('*'); - - expect(all.length).toBe(allNative.length); - expect(Array.from(all)).toEqual(Array.from(allNative)); - }); - - test('all with defined parent', () => { - const all = find('*', document.querySelector('#parent')); - const allNative = document.querySelector('#parent')?.querySelectorAll('*'); - - expect(all.length).toBe(allNative?.length); - expect(Array.from(all)).toEqual(Array.from(allNative!)); - }); - - test('all with null parent', () => { - const all = find('*', null); - const allNative = document.querySelectorAll('*'); - - expect(all.length).toBe(allNative.length); - expect(Array.from(all)).toEqual(Array.from(allNative!)); - }); - - test('non-existent', () => { - const nonExistent = find('#non-existent'); - - expect(nonExistent.length).toBe(0); - }); + expect(parentId.length).toBe(1); + expect(parentId[0]).toBe(document.querySelector('#parent')); }); - describe('findFirst', () => { - test('by class', () => { - const divClass = findFirst('.div-class'); + test('all', () => { + const all = find('*'); + const allNative = document.querySelectorAll('*'); - expect(divClass).toBe(document.querySelector('.div-class')); - }); - - test('by id', () => { - const parentId = findFirst('#parent'); - - expect(parentId).toBe(document.querySelector('#parent')); - }); - - test('all', () => { - const all = findFirst('*'); - const allNative = document.querySelector('*'); - - expect(all).toBe(allNative); - }); - - test('all with defined parent', () => { - const all = findFirst('*', document.querySelector('#parent')); - const allNative = document.querySelector('#parent')?.querySelector('*'); - - expect(all).toBe(allNative); - }); - - test('all with null parent', () => { - const all = findFirst('*', null); - const allNative = document.querySelector('*'); - - expect(all).toBe(allNative); - }); - - test('non-existent', () => { - const nonExistent = findFirst('#non-existent'); - - expect(nonExistent).toBe(null); - }); + expect(all.length).toBe(allNative.length); + expect(Array.from(all)).toEqual(Array.from(allNative)); }); - describe('is', () => { - test('tag', () => { - expect(is(findFirst('input'), 'input')).toBe(true); - expect(is(findFirst('body'), 'body')).toBe(true); - expect(is(findFirst('div'), 'div')).toBe(true); + test('all with defined parent', () => { + const all = find('*', document.querySelector('#parent')); + const allNative = document.querySelector('#parent')?.querySelectorAll('*'); - expect(is(findFirst('input'), 'body')).toBe(false); - expect(is(findFirst('body'), 'input')).toBe(false); - expect(is(findFirst('div'), 'head')).toBe(false); - }); - - test('id', () => { - expect(is(findFirst('#parent'), '#parent')).toBe(true); - expect(is(findFirst('#child'), '#parent')).toBe(false); - }); - - test('class', () => { - expect(is(findFirst('.div-class'), '.div-class')).toBe(true); - expect(is(findFirst('.div-class'), '.other-class')).toBe(false); - }); - - test('visibility', () => { - expect(is(findFirst('.div-class'), ':visible')).toBe(false); - expect(is(findFirst('.div-class'), ':hidden')).toBe(true); - }); - - test('created', () => { - const div = createDiv(); - expect(div.parentNode).toBeNull(); - - expect(is(div, 'div')).toBe(true); - - expect(is(div, 'body')).toBe(false); - expect(is(div, 'input')).toBe(false); - expect(is(div, 'head')).toBe(false); - - expect(is(div, '#parent')).toBe(false); - expect(is(div, '#parent')).toBe(false); - - expect(is(div, '.div-class')).toBe(false); - expect(is(div, '.other-class')).toBe(false); - - expect(is(div, ':visible')).toBe(false); - expect(is(div, ':hidden')).toBe(true); - }); - - test('none', () => { - expect(is(null, 'body')).toBe(false); - expect(is(null, 'input')).toBe(false); - expect(is(null, 'head')).toBe(false); - - expect(is(null, '#parent')).toBe(false); - expect(is(null, '#parent')).toBe(false); - - expect(is(null, '.div-class')).toBe(false); - expect(is(null, '.other-class')).toBe(false); - - expect(is(null, ':visible')).toBe(false); - expect(is(null, ':hidden')).toBe(false); - }); + expect(all.length).toBe(allNative?.length); + expect(Array.from(all)).toEqual(Array.from(allNative)); }); - describe('children', () => { - test('available element', () => { - const childs = children(document.body); + test('all with null parent', () => { + const all = find('*', null); + const allNative = document.querySelectorAll('*'); - expect(childs.length).toBe(document.body.children.length); - expect(childs).toEqual(Array.from(document.body.children)); - }); - - test('unavailable element', () => { - const childs = children(null); - - expect(childs.length).toEqual(0); - }); - - test('with selector', () => { - const childs = children(document.body, 'input'); - - expect(childs.length).toBe(1); - expect(childs[0]).toBe(findFirst('input')); - }); + expect(all.length).toBe(allNative.length); + expect(Array.from(all)).toEqual(Array.from(allNative)); }); - describe('contents', () => { - test('available element', () => { - const childs = contents(document.body); + test('non-existent', () => { + const nonExistent = find('#non-existent'); - expect(childs.length).toBe(document.body.childNodes.length); - expect(childs).toEqual(Array.from(document.body.childNodes)); - }); + expect(nonExistent.length).toBe(0); + }); + }); - test('unavailable element', () => { - const childs = contents(null); + describe('findFirst', () => { + test('by class', () => { + const divClass = findFirst('.div-class'); - expect(childs.length).toEqual(0); - }); + expect(divClass).toBe(document.querySelector('.div-class')); }); - describe('parent', () => { - test('available element', () => { - const p = parent(document.body); + test('by id', () => { + const parentId = findFirst('#parent'); - expect(p).toBe(document.body.parentElement); - }); - - test('unavailable element', () => { - const p = parent(null); - - expect(p).toBeNull(); - }); + expect(parentId).toBe(document.querySelector('#parent')); }); -}); \ No newline at end of file + + test('all', () => { + const all = findFirst('*'); + const allNative = document.querySelector('*'); + + expect(all).toBe(allNative); + }); + + test('all with defined parent', () => { + const all = findFirst('*', document.querySelector('#parent')); + const allNative = document.querySelector('#parent')?.querySelector('*'); + + expect(all).toBe(allNative); + }); + + test('all with null parent', () => { + const all = findFirst('*', null); + const allNative = document.querySelector('*'); + + expect(all).toBe(allNative); + }); + + test('non-existent', () => { + const nonExistent = findFirst('#non-existent'); + + expect(nonExistent).toBe(null); + }); + }); + + describe('is', () => { + test('tag', () => { + expect(is(findFirst('input'), 'input')).toBe(true); + expect(is(findFirst('body'), 'body')).toBe(true); + expect(is(findFirst('div'), 'div')).toBe(true); + + expect(is(findFirst('input'), 'body')).toBe(false); + expect(is(findFirst('body'), 'input')).toBe(false); + expect(is(findFirst('div'), 'head')).toBe(false); + }); + + test('id', () => { + expect(is(findFirst('#parent'), '#parent')).toBe(true); + expect(is(findFirst('#child'), '#parent')).toBe(false); + }); + + test('class', () => { + expect(is(findFirst('.div-class'), '.div-class')).toBe(true); + expect(is(findFirst('.div-class'), '.other-class')).toBe(false); + }); + + test('visibility', () => { + expect(is(findFirst('.div-class'), ':visible')).toBe(false); + expect(is(findFirst('.div-class'), ':hidden')).toBe(true); + }); + + test('created', () => { + const div = createDiv(); + expect(div.parentNode).toBeNull(); + + expect(is(div, 'div')).toBe(true); + + expect(is(div, 'body')).toBe(false); + expect(is(div, 'input')).toBe(false); + expect(is(div, 'head')).toBe(false); + + expect(is(div, '#parent')).toBe(false); + expect(is(div, '#parent')).toBe(false); + + expect(is(div, '.div-class')).toBe(false); + expect(is(div, '.other-class')).toBe(false); + + expect(is(div, ':visible')).toBe(false); + expect(is(div, ':hidden')).toBe(true); + }); + + test('none', () => { + expect(is(null, 'body')).toBe(false); + expect(is(null, 'input')).toBe(false); + expect(is(null, 'head')).toBe(false); + + expect(is(null, '#parent')).toBe(false); + expect(is(null, '#parent')).toBe(false); + + expect(is(null, '.div-class')).toBe(false); + expect(is(null, '.other-class')).toBe(false); + + expect(is(null, ':visible')).toBe(false); + expect(is(null, ':hidden')).toBe(false); + }); + }); + + describe('children', () => { + test('available element', () => { + const childs = children(document.body); + + expect(childs.length).toBe(document.body.children.length); + expect(childs).toEqual(Array.from(document.body.children)); + }); + + test('unavailable element', () => { + const childs = children(null); + + expect(childs.length).toEqual(0); + }); + + test('with selector', () => { + const childs = children(document.body, 'input'); + + expect(childs.length).toBe(1); + expect(childs[0]).toBe(findFirst('input')); + }); + }); + + describe('contents', () => { + test('available element', () => { + const childs = contents(document.body); + + expect(childs.length).toBe(document.body.childNodes.length); + expect(childs).toEqual(Array.from(document.body.childNodes)); + }); + + test('unavailable element', () => { + const childs = contents(null); + + expect(childs.length).toEqual(0); + }); + }); + + describe('parent', () => { + test('available element', () => { + const p = parent(document.body); + + expect(p).toBe(document.body.parentElement); + }); + + test('unavailable element', () => { + const p = parent(null); + + expect(p).toBeNull(); + }); + }); +}); diff --git a/packages/overlayscrollbars/tests/core/options/transformation.test.ts b/packages/overlayscrollbars/tests/core/options/transformation.test.ts index 8b598ba..9eef91f 100644 --- a/packages/overlayscrollbars/tests/core/options/transformation.test.ts +++ b/packages/overlayscrollbars/tests/core/options/transformation.test.ts @@ -1,77 +1,77 @@ -import { OptionsTemplate, OptionsAndOptionsTemplate, PlainObject } from "core/typings"; -import { optionsTemplateTypes as oTypes, transform } from "core/options"; +import { OptionsTemplate, OptionsAndOptionsTemplate, PlainObject } from 'core/typings'; +import { optionsTemplateTypes as oTypes, transform } from 'core/options'; -type TestOptionsObj = { propA: 'propA', null: null }; +type TestOptionsObj = { propA: 'propA'; null: null }; type TestOptionsEnum = 'A' | 'B' | 'C'; type TestOptions = { - str?: string; - strArrNull?: string | Array | null; - nullbool?: boolean | null; - nested?: { - num?: number; - switch?: boolean; - abc?: TestOptionsEnum; - }; - obj?: TestOptionsObj | null; + str?: string; + strArrNull?: string | Array | null; + nullbool?: boolean | null; + nested?: { + num?: number; + switch?: boolean; abc?: TestOptionsEnum; - arr?: Array; - func?: () => void; -} + }; + obj?: TestOptionsObj | null; + abc?: TestOptionsEnum; + arr?: Array; + func?: () => void; +}; type DeepRequired = { - [P in keyof T]-?: PlainObject extends T[P] ? DeepRequired : T[P]; + [P in keyof T]-?: PlainObject extends T[P] ? DeepRequired : T[P]; }; const options: DeepRequired = { - str: 'hi', - strArrNull: null, - nullbool: true, - nested: { - num: 1, - switch: false, - abc: 'B', - }, - obj: { propA: 'propA', null: null }, - abc: 'A', - arr: [1, 2, 3], - func: () => { } -} + str: 'hi', + strArrNull: null, + nullbool: true, + nested: { + num: 1, + switch: false, + abc: 'B', + }, + obj: { propA: 'propA', null: null }, + abc: 'A', + arr: [1, 2, 3], + func: () => {}, +}; const optionsTemplate: OptionsTemplate> = { - str: oTypes.string, - strArrNull: [oTypes.string, oTypes.array, oTypes.null], - nullbool: [oTypes.boolean, oTypes.null], - nested: { - num: oTypes.number, - switch: oTypes.boolean, - abc: 'A B C', - }, - obj: [oTypes.object, oTypes.null], + str: oTypes.string, + strArrNull: [oTypes.string, oTypes.array, oTypes.null], + nullbool: [oTypes.boolean, oTypes.null], + nested: { + num: oTypes.number, + switch: oTypes.boolean, abc: 'A B C', - arr: oTypes.array, - func: oTypes.function, -} + }, + obj: [oTypes.object, oTypes.null], + abc: 'A B C', + arr: oTypes.array, + func: oTypes.function, +}; const optionsAndOptionsTemplate: OptionsAndOptionsTemplate> = { - str: [options.str, optionsTemplate.str], - strArrNull: [options.strArrNull, optionsTemplate.strArrNull], - nullbool: [options.nullbool, optionsTemplate.nullbool], - nested: { - num: [options.nested.num, optionsTemplate.nested.num], - switch: [options.nested.switch, optionsTemplate.nested.switch], - abc: [options.nested.abc, optionsTemplate.nested.abc], - }, - obj: [options.obj, optionsTemplate.obj], - abc: [options.abc, optionsTemplate.abc], - arr: [options.arr, optionsTemplate.arr], - func: [options.func, optionsTemplate.func] + str: [options.str, optionsTemplate.str], + strArrNull: [options.strArrNull, optionsTemplate.strArrNull], + nullbool: [options.nullbool, optionsTemplate.nullbool], + nested: { + num: [options.nested.num, optionsTemplate.nested.num], + switch: [options.nested.switch, optionsTemplate.nested.switch], + abc: [options.nested.abc, optionsTemplate.nested.abc], + }, + obj: [options.obj, optionsTemplate.obj], + abc: [options.abc, optionsTemplate.abc], + arr: [options.arr, optionsTemplate.arr], + func: [options.func, optionsTemplate.func], }; describe('options and options template object transformation', () => { - test('transforms correctly into options object', () => { - expect(transform(optionsAndOptionsTemplate)).toEqual(options); - }); + test('transforms correctly into options object', () => { + expect(transform(optionsAndOptionsTemplate)).toEqual(options); + }); - test('transforms correctly into template object', () => { - expect(transform(optionsAndOptionsTemplate, true)).toEqual(optionsTemplate); - }); -}); \ No newline at end of file + test('transforms correctly into template object', () => { + expect(transform(optionsAndOptionsTemplate, true)).toEqual(optionsTemplate); + }); +}); diff --git a/packages/overlayscrollbars/tests/core/options/validation.test.ts b/packages/overlayscrollbars/tests/core/options/validation.test.ts index 6224731..965c3df 100644 --- a/packages/overlayscrollbars/tests/core/options/validation.test.ts +++ b/packages/overlayscrollbars/tests/core/options/validation.test.ts @@ -2,369 +2,438 @@ import { validate, optionsTemplateTypes as oTypes } from 'core/options'; import { extend, isEmptyObject } from 'core/utils'; import { OptionsTemplate } from 'core/typings'; -type TestOptionsObj = { propA: 'propA', null: null }; +type TestOptionsObj = { propA: 'propA'; null: null }; type TestOptionsEnum = 'A' | 'B' | 'C'; type TestOptions = { - str?: string; - strArrNull?: string | Array | null; - nullbool?: boolean | null; - nested?: { - num?: number; - switch?: boolean; - abc?: TestOptionsEnum; - }; - obj?: TestOptionsObj | null; + str?: string; + strArrNull?: string | Array | null; + nullbool?: boolean | null; + nested?: { + num?: number; + switch?: boolean; abc?: TestOptionsEnum; - arr?: Array; - func?: () => void; -} + }; + obj?: TestOptionsObj | null; + abc?: TestOptionsEnum; + arr?: Array; + func?: () => void; +}; const options: TestOptions = { - str: 'hi', - strArrNull: null, - nullbool: true, - nested: { - num: 1, - switch: false, - abc: 'B', - }, - obj: { propA: 'propA', null: null }, - abc: 'A', - arr: [1, 2, 3], - func: () => { } -} + str: 'hi', + strArrNull: null, + nullbool: true, + nested: { + num: 1, + switch: false, + abc: 'B', + }, + obj: { propA: 'propA', null: null }, + abc: 'A', + arr: [1, 2, 3], + func: () => {}, +}; const template: OptionsTemplate> = { - str: oTypes.string, - strArrNull: [oTypes.string, oTypes.array, oTypes.null], - nullbool: [oTypes.boolean, oTypes.null], - nested: { - num: oTypes.number, - switch: oTypes.boolean, - abc: 'A B C', - }, - obj: [oTypes.object, oTypes.null], + str: oTypes.string, + strArrNull: [oTypes.string, oTypes.array, oTypes.null], + nullbool: [oTypes.boolean, oTypes.null], + nested: { + num: oTypes.number, + switch: oTypes.boolean, abc: 'A B C', - arr: oTypes.array, - func: oTypes.function, -} + }, + obj: [oTypes.object, oTypes.null], + abc: 'A B C', + arr: oTypes.array, + func: oTypes.function, +}; describe('options validation', () => { - describe('object return & mutation', () => { - test('foreign properties wont affect validated object', () => { - const foreignObj = { foreignProp: 'foreign', foreignDeep: { a: 'A', b: 'B' } }; - const modifiedOptions = extend({}, options, { nested: foreignObj }, foreignObj); - const result = validate(modifiedOptions, template); - const { validated } = result; + describe('object return & mutation', () => { + test('foreign properties wont affect validated object', () => { + const foreignObj = { + foreignProp: 'foreign', + foreignDeep: { a: 'A', b: 'B' }, + }; + const modifiedOptions = extend({}, options, { nested: foreignObj }, foreignObj); + const result = validate(modifiedOptions, template); + const { validated } = result; - expect(validated).toEqual(options); - }); - - test('passed objects arent mutated', () => { - const clonedOptions = extend({}, options); - validate(clonedOptions, template, clonedOptions); - - expect(clonedOptions).toEqual(options); - }); - - test('passed object isnt returned object', () => { - const clonedOptions = extend({}, options); - const result = validate(clonedOptions, template); - - expect(result.validated).not.toBe(clonedOptions); - }); + expect(validated).toEqual(options); }); - describe('foreign property return', () => { - test('return no foreign property', () => { - const result = validate(options, template); + test('passed objects arent mutated', () => { + const clonedOptions = extend({}, options); + validate(clonedOptions, template, clonedOptions); - expect(isEmptyObject(result.foreign)).toBe(true); - }); - - test('return signle non-object foreign property', () => { - const foreignObj = { foreignProp: 'foreign' }; - const modifiedOptions = extend({}, options, foreignObj); - const result = validate(modifiedOptions, template); - const { foreign } = result; - - expect(foreign).toEqual(foreignObj); - }); - - test('return complex foreign properties', () => { - const foreignObj = { foreignProp: 'foreign', foreignDeep: { a: 'A', b: 'B' } }; - const modifiedOptions = extend({}, options, foreignObj); - const result = validate(modifiedOptions, template); - const { foreign } = result; - - expect(foreign).toEqual(foreignObj); - }); - - test('return nested complex foreign properties', () => { - const foreignObj = { foreignProp: 'foreign', foreignDeep: { a: 'A', b: 'B' } }; - const modifiedOptions = extend({}, options, { nested: foreignObj }, foreignObj); - const result = validate(modifiedOptions, template); - const { foreign } = result; - - expect(foreign.nested).toEqual(foreignObj); - delete foreign.nested; - expect(foreign).toEqual(foreignObj); - }); + expect(clonedOptions).toEqual(options); }); - describe('diff property return', () => { - test('one value changed', () => { - const modifiedOptions = extend({}, options, { str: 'newvaluetest' }); - const result = validate(modifiedOptions, template, options); - const { validated } = result; + test('passed object isnt returned object', () => { + const clonedOptions = extend({}, options); + const result = validate(clonedOptions, template); - expect(validated.str).toBe('newvaluetest'); - delete validated.str; - expect(isEmptyObject(validated)).toBe(true); - }); + expect(result.validated).not.toBe(clonedOptions); + }); + }); - test('multiple values changed', () => { - const modifiedOptions = extend({}, options, { str: 'newvaluetest', nullbool: null }); - const result = validate(modifiedOptions, template, options); - const { validated } = result; + describe('foreign property return', () => { + test('return no foreign property', () => { + const result = validate(options, template); - expect(validated.str).toBe('newvaluetest'); - expect(validated.nullbool).toBe(null); - delete validated.str; - delete validated.nullbool; - expect(isEmptyObject(validated)).toBe(true); - }); - - test('one nested value changed', () => { - const modifiedOptions = extend({}, options, { nested: { num: -1293 } }); - const result = validate(modifiedOptions, template, options); - const { validated } = result; - - expect(validated.nested?.num).toBe(-1293); - delete validated.nested?.num; - expect(isEmptyObject(validated.nested)).toBe(true); - delete validated.nested; - expect(isEmptyObject(validated)).toBe(true); - }); - - test('multiple nested values changed', () => { - const modifiedOptions = extend({}, options, { nested: { num: -1293, abc: 'C' } }); - const result = validate(modifiedOptions, template, options); - const { validated } = result; - - expect(validated.nested?.num).toBe(-1293); - expect(validated.nested?.abc).toBe('C'); - delete validated.nested?.num; - delete validated.nested?.abc; - expect(isEmptyObject(validated.nested)).toBe(true); - delete validated.nested; - expect(isEmptyObject(validated)).toBe(true); - }); - - test('various values changed', () => { - const newFunc = () => { }; - const modifiedOptions = extend({}, options, { str: 'newstrvalue', func: newFunc, abc: 'C', nested: { num: -1293, abc: 'C' } }); - const result = validate(modifiedOptions, template, options); - const { validated } = result; - - expect(validated.str).toBe('newstrvalue'); - expect(validated.func).toBe(newFunc); - expect(validated.abc).toBe('C'); - delete validated.str; - delete validated.func; - delete validated.abc; - expect(validated.nested?.num).toBe(-1293); - expect(validated.nested?.abc).toBe('C'); - delete validated.nested?.num; - delete validated.nested?.abc; - expect(isEmptyObject(validated.nested)).toBe(true); - delete validated.nested; - expect(isEmptyObject(validated)).toBe(true); - }); - - test('various values changed with foreign properties', () => { - const foreignObj = { foreignProp: 'foreign', foreignDeep: { a: 'A', b: 'B' } }; - const newFunc = () => { }; - const modifiedOptions = extend({}, options, { str: 'newstrvalue', func: newFunc, abc: 'C', nested: { num: -1293, abc: 'C' } }, foreignObj, { nested: foreignObj }); - const result = validate(modifiedOptions, template, options); - const { validated } = result; - - expect(validated.str).toBe('newstrvalue'); - expect(validated.func).toBe(newFunc); - expect(validated.abc).toBe('C'); - delete validated.str; - delete validated.func; - delete validated.abc; - expect(validated.nested?.num).toBe(-1293); - expect(validated.nested?.abc).toBe('C'); - delete validated.nested?.num; - delete validated.nested?.abc; - expect(isEmptyObject(validated.nested)).toBe(true); - delete validated.nested; - expect(isEmptyObject(validated)).toBe(true); - }); + expect(isEmptyObject(result.foreign)).toBe(true); }); - describe('value validity', () => { - test('single value doesnt match template', () => { - const modifiedOptions = extend({}, options, { str: 1 }); - const result = validate(modifiedOptions, template); - const { validated } = result; + test('return signle non-object foreign property', () => { + const foreignObj = { foreignProp: 'foreign' }; + const modifiedOptions = extend({}, options, foreignObj); + const result = validate(modifiedOptions, template); + const { foreign } = result; - expect(validated).not.toHaveProperty('str'); - }); - - test('single enum value doesnt match template', () => { - const modifiedOptions = extend({}, options, { abc: 'testval' }); - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated).not.toHaveProperty('abc'); - }); - - test('multiple values dont match template', () => { - const modifiedOptions = extend({}, options, { str: 1, abc: 'testval', nullbool: 'string' }); - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated).not.toHaveProperty('str'); - expect(validated).not.toHaveProperty('abc'); - expect(validated).not.toHaveProperty('nullbool'); - }); - - test('single nested value dont match template', () => { - const modifiedOptions = extend({}, options, { nested: { num: 'hi' } }); - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated.nested).not.toHaveProperty('num'); - }); - - test('single nested enum value dont match template', () => { - const modifiedOptions = extend({}, options, { nested: { abc: 'testabc' } }); - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated.nested).not.toHaveProperty('abc'); - }); - - test('multiple nested values dont match template', () => { - const modifiedOptions = extend({}, options, { nested: { num: 'hi', abc: 'testabc' } }); - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated.nested).not.toHaveProperty('num'); - expect(validated.nested).not.toHaveProperty('abc'); - }); - - test('all nested values dont match template', () => { - const modifiedOptions = extend({}, options, { nested: { num: 'hi', abc: 'testabc', switch: 1 } }); - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated).not.toHaveProperty('nested'); - }); - - test('all nested values dont match template with foreign property', () => { - const modifiedOptions = extend({}, options, { nested: { foreign: 'foreign', num: 'hi', abc: 'testabc', switch: 1 } }); - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated).not.toHaveProperty('nested'); - }); - - test('various values dont match template', () => { - const modifiedOptions = extend({}, options, { nested: { switch: null }, obj: 1, abc: 'testest', func: {} }); - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated.nested).not.toHaveProperty('switch'); - expect(validated).not.toHaveProperty('obj'); - expect(validated).not.toHaveProperty('abc'); - expect(validated).not.toHaveProperty('func'); - }); - - test('various values dont match template with foreign properties', () => { - const foreignObj = { foreignProp: 'foreign', foreignDeep: { a: 'A', b: 'B' } }; - const modifiedOptions = extend({}, options, { nested: { switch: null }, obj: 1, abc: 'testest', func: {} }, foreignObj, { nested: foreignObj }); - const result = validate(modifiedOptions, template); - const { validated, foreign } = result; - - expect(foreign.nested).toEqual(foreignObj); - delete foreign.nested; - expect(foreign).toEqual(foreignObj); - - expect(validated.nested).not.toHaveProperty('switch'); - expect(validated).not.toHaveProperty('obj'); - expect(validated).not.toHaveProperty('abc'); - expect(validated).not.toHaveProperty('func'); - }); - - test('nested object is string', () => { - const modifiedOptions = extend({}, options, { nested: 'string' }); - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated).not.toHaveProperty('nested'); - }); - - test('nested object is null', () => { - const modifiedOptions = extend({}, options, { nested: null }); - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated).not.toHaveProperty('nested'); - }); - - test('nested object is undefined', () => { - const modifiedOptions = extend({}, options); - modifiedOptions.nested = undefined; - const result = validate(modifiedOptions, template); - const { validated } = result; - - expect(validated).not.toHaveProperty('nested'); - }); + expect(foreign).toEqual(foreignObj); }); - describe('error logging', () => { - test('dont log error if nothing is wrong', () => { - const warn = console.warn; - console.warn = jest.fn(); + test('return complex foreign properties', () => { + const foreignObj = { + foreignProp: 'foreign', + foreignDeep: { a: 'A', b: 'B' }, + }; + const modifiedOptions = extend({}, options, foreignObj); + const result = validate(modifiedOptions, template); + const { foreign } = result; - validate(options, template, {}, true); - expect(console.warn).not.toBeCalled(); - - console.warn = warn; - }); - - test('dont log error if something is wrong and flag is false', () => { - const warn = console.warn; - console.warn = jest.fn(); - - const modifiedOptions = extend({}, options, { str: 1 }); - validate(modifiedOptions, template, {}, false); - expect(console.warn).not.toBeCalled(); - - console.warn = warn; - }); - - test('log error if something is wrong and flag is true', () => { - const warn = console.warn; - console.warn = jest.fn(); - - // str must be string - validate(extend({}, options, { str: 1 }), template, {}, true); - expect(console.warn).toBeCalledTimes(1); - - // abc must be A | B | C - validate(extend({}, options, { abc: 'some string' }), template, {}, true); - expect(console.warn).toBeCalledTimes(2); - - // everthing OK - validate(extend({}, options, { abc: 'C' }), template, {}, true); - expect(console.warn).toBeCalledTimes(2); - - console.warn = warn; - }); + expect(foreign).toEqual(foreignObj); }); -}); \ No newline at end of file + + test('return nested complex foreign properties', () => { + const foreignObj = { + foreignProp: 'foreign', + foreignDeep: { a: 'A', b: 'B' }, + }; + const modifiedOptions = extend({}, options, { nested: foreignObj }, foreignObj); + const result = validate(modifiedOptions, template); + const { foreign } = result; + + expect(foreign.nested).toEqual(foreignObj); + delete foreign.nested; + expect(foreign).toEqual(foreignObj); + }); + }); + + describe('diff property return', () => { + test('one value changed', () => { + const modifiedOptions = extend({}, options, { str: 'newvaluetest' }); + const result = validate(modifiedOptions, template, options); + const { validated } = result; + + expect(validated.str).toBe('newvaluetest'); + delete validated.str; + expect(isEmptyObject(validated)).toBe(true); + }); + + test('multiple values changed', () => { + const modifiedOptions = extend({}, options, { + str: 'newvaluetest', + nullbool: null, + }); + const result = validate(modifiedOptions, template, options); + const { validated } = result; + + expect(validated.str).toBe('newvaluetest'); + expect(validated.nullbool).toBe(null); + delete validated.str; + delete validated.nullbool; + expect(isEmptyObject(validated)).toBe(true); + }); + + test('one nested value changed', () => { + const modifiedOptions = extend({}, options, { nested: { num: -1293 } }); + const result = validate(modifiedOptions, template, options); + const { validated } = result; + + expect(validated.nested?.num).toBe(-1293); + delete validated.nested?.num; + expect(isEmptyObject(validated.nested)).toBe(true); + delete validated.nested; + expect(isEmptyObject(validated)).toBe(true); + }); + + test('multiple nested values changed', () => { + const modifiedOptions = extend({}, options, { + nested: { num: -1293, abc: 'C' }, + }); + const result = validate(modifiedOptions, template, options); + const { validated } = result; + + expect(validated.nested?.num).toBe(-1293); + expect(validated.nested?.abc).toBe('C'); + delete validated.nested?.num; + delete validated.nested?.abc; + expect(isEmptyObject(validated.nested)).toBe(true); + delete validated.nested; + expect(isEmptyObject(validated)).toBe(true); + }); + + test('various values changed', () => { + const newFunc = () => {}; + const modifiedOptions = extend({}, options, { + str: 'newstrvalue', + func: newFunc, + abc: 'C', + nested: { num: -1293, abc: 'C' }, + }); + const result = validate(modifiedOptions, template, options); + const { validated } = result; + + expect(validated.str).toBe('newstrvalue'); + expect(validated.func).toBe(newFunc); + expect(validated.abc).toBe('C'); + delete validated.str; + delete validated.func; + delete validated.abc; + expect(validated.nested?.num).toBe(-1293); + expect(validated.nested?.abc).toBe('C'); + delete validated.nested?.num; + delete validated.nested?.abc; + expect(isEmptyObject(validated.nested)).toBe(true); + delete validated.nested; + expect(isEmptyObject(validated)).toBe(true); + }); + + test('various values changed with foreign properties', () => { + const foreignObj = { + foreignProp: 'foreign', + foreignDeep: { a: 'A', b: 'B' }, + }; + const newFunc = () => {}; + const modifiedOptions = extend( + {}, + options, + { + str: 'newstrvalue', + func: newFunc, + abc: 'C', + nested: { num: -1293, abc: 'C' }, + }, + foreignObj, + { nested: foreignObj }, + ); + const result = validate(modifiedOptions, template, options); + const { validated } = result; + + expect(validated.str).toBe('newstrvalue'); + expect(validated.func).toBe(newFunc); + expect(validated.abc).toBe('C'); + delete validated.str; + delete validated.func; + delete validated.abc; + expect(validated.nested?.num).toBe(-1293); + expect(validated.nested?.abc).toBe('C'); + delete validated.nested?.num; + delete validated.nested?.abc; + expect(isEmptyObject(validated.nested)).toBe(true); + delete validated.nested; + expect(isEmptyObject(validated)).toBe(true); + }); + }); + + describe('value validity', () => { + test('single value doesnt match template', () => { + const modifiedOptions = extend({}, options, { str: 1 }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated).not.toHaveProperty('str'); + }); + + test('single enum value doesnt match template', () => { + const modifiedOptions = extend({}, options, { abc: 'testval' }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated).not.toHaveProperty('abc'); + }); + + test('multiple values dont match template', () => { + const modifiedOptions = extend({}, options, { + str: 1, + abc: 'testval', + nullbool: 'string', + }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated).not.toHaveProperty('str'); + expect(validated).not.toHaveProperty('abc'); + expect(validated).not.toHaveProperty('nullbool'); + }); + + test('single nested value dont match template', () => { + const modifiedOptions = extend({}, options, { nested: { num: 'hi' } }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated.nested).not.toHaveProperty('num'); + }); + + test('single nested enum value dont match template', () => { + const modifiedOptions = extend({}, options, { + nested: { abc: 'testabc' }, + }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated.nested).not.toHaveProperty('abc'); + }); + + test('multiple nested values dont match template', () => { + const modifiedOptions = extend({}, options, { + nested: { num: 'hi', abc: 'testabc' }, + }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated.nested).not.toHaveProperty('num'); + expect(validated.nested).not.toHaveProperty('abc'); + }); + + test('all nested values dont match template', () => { + const modifiedOptions = extend({}, options, { + nested: { num: 'hi', abc: 'testabc', switch: 1 }, + }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated).not.toHaveProperty('nested'); + }); + + test('all nested values dont match template with foreign property', () => { + const modifiedOptions = extend({}, options, { + nested: { + foreign: 'foreign', + num: 'hi', + abc: 'testabc', + switch: 1, + }, + }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated).not.toHaveProperty('nested'); + }); + + test('various values dont match template', () => { + const modifiedOptions = extend({}, options, { + nested: { switch: null }, + obj: 1, + abc: 'testest', + func: {}, + }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated.nested).not.toHaveProperty('switch'); + expect(validated).not.toHaveProperty('obj'); + expect(validated).not.toHaveProperty('abc'); + expect(validated).not.toHaveProperty('func'); + }); + + test('various values dont match template with foreign properties', () => { + const foreignObj = { + foreignProp: 'foreign', + foreignDeep: { a: 'A', b: 'B' }, + }; + const modifiedOptions = extend( + {}, + options, + { + nested: { switch: null }, + obj: 1, + abc: 'testest', + func: {}, + }, + foreignObj, + { nested: foreignObj }, + ); + const result = validate(modifiedOptions, template); + const { validated, foreign } = result; + + expect(foreign.nested).toEqual(foreignObj); + delete foreign.nested; + expect(foreign).toEqual(foreignObj); + + expect(validated.nested).not.toHaveProperty('switch'); + expect(validated).not.toHaveProperty('obj'); + expect(validated).not.toHaveProperty('abc'); + expect(validated).not.toHaveProperty('func'); + }); + + test('nested object is string', () => { + const modifiedOptions = extend({}, options, { nested: 'string' }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated).not.toHaveProperty('nested'); + }); + + test('nested object is null', () => { + const modifiedOptions = extend({}, options, { nested: null }); + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated).not.toHaveProperty('nested'); + }); + + test('nested object is undefined', () => { + const modifiedOptions = extend({}, options); + modifiedOptions.nested = undefined; + const result = validate(modifiedOptions, template); + const { validated } = result; + + expect(validated).not.toHaveProperty('nested'); + }); + }); + + describe('error logging', () => { + test('dont log error if nothing is wrong', () => { + const { warn } = console; + console.warn = jest.fn(); + + validate(options, template, {}, true); + expect(console.warn).not.toBeCalled(); + + console.warn = warn; + }); + + test('dont log error if something is wrong and flag is false', () => { + const { warn } = console; + console.warn = jest.fn(); + + const modifiedOptions = extend({}, options, { str: 1 }); + validate(modifiedOptions, template, {}, false); + expect(console.warn).not.toBeCalled(); + + console.warn = warn; + }); + + test('log error if something is wrong and flag is true', () => { + const { warn } = console; + console.warn = jest.fn(); + + // str must be string + validate(extend({}, options, { str: 1 }), template, {}, true); + expect(console.warn).toBeCalledTimes(1); + + // abc must be A | B | C + validate(extend({}, options, { abc: 'some string' }), template, {}, true); + expect(console.warn).toBeCalledTimes(2); + + // everthing OK + validate(extend({}, options, { abc: 'C' }), template, {}, true); + expect(console.warn).toBeCalledTimes(2); + + console.warn = warn; + }); + }); +}); diff --git a/packages/overlayscrollbars/tests/core/utils/arrays.test.ts b/packages/overlayscrollbars/tests/core/utils/arrays.test.ts index 1652803..c00ad73 100644 --- a/packages/overlayscrollbars/tests/core/utils/arrays.test.ts +++ b/packages/overlayscrollbars/tests/core/utils/arrays.test.ts @@ -1,176 +1,179 @@ -import { each, indexOf } from 'core/utils/arrays'; +import { each, indexOf } from 'core/utils/array'; describe('array utilities', () => { - describe('each', () => { - describe('each through Array', () => { - test('returns input', () => { - const arr = [1, 2, 3]; - expect(each(arr, () => { })).toBe(arr); - }); + describe('each', () => { + describe('each through Array', () => { + test('returns input', () => { + const arr = [1, 2, 3]; + expect(each(arr, () => {})).toBe(arr); + }); - test('correct times', () => { - const arr = [1, 2, 3]; - const eachCallback = jest.fn(); + test('correct times', () => { + const arr = [1, 2, 3]; + const eachCallback = jest.fn(); - each(arr, eachCallback); - expect(eachCallback).toBeCalledTimes(arr.length); - }); + each(arr, eachCallback); + expect(eachCallback).toBeCalledTimes(arr.length); + }); - test('correct callback values', () => { - const arr = [1, 2, 3]; - each(arr, (value, index, src) => { - expect(value).toBe(arr[index]); - expect(arr).toBe(src); - }); - }); + test('correct callback values', () => { + const arr = [1, 2, 3]; + each(arr, (value, index, src) => { + expect(value).toBe(arr[index]); + expect(arr).toBe(src); + }); + }); - test('return false equals break', () => { - const arr = [1, 2, 3]; - const testFunc = jest.fn(); + test('return false equals break', () => { + const arr = [1, 2, 3]; + const testFunc = jest.fn(); - each(arr, () => { - testFunc(); - return false; - }); - - expect(testFunc).toBeCalledTimes(1); - }); - - test('return true equals continue', () => { - const arr = [1, 2, 3]; - const testFunc = jest.fn(); - - each(arr, (value, index) => { - if (index === 0) - return true; - testFunc(); - }); - - expect(testFunc).toBeCalledTimes(arr.length - 1); - }); + each(arr, () => { + testFunc(); + return false; }); - describe('each through Object', () => { - test('returns input', () => { - const obj = { - a: 1, - b: 2, - c: 3 - }; - expect(each(obj, () => { })).toBe(obj); - }); + expect(testFunc).toBeCalledTimes(1); + }); - test('correct times', () => { - const obj = { - a: 1, - b: 2, - c: 3 - }; - const eachCallback = jest.fn(); + test('return true equals continue', () => { + const arr = [1, 2, 3]; + const testFunc = jest.fn(); - each(obj, eachCallback); - expect(eachCallback).toBeCalledTimes(Object.keys(obj).length); - }); - - test('correct callback values', () => { - const obj = { - a: 1, - b: 2, - c: 3 - }; - each(obj, (value, key, src) => { - expect(value).toBe(obj[key]); - expect(obj).toBe(src); - }); - }); - - test('return false equals break', () => { - const obj = { - a: 1, - b: 2, - c: 3 - }; - const testFunc = jest.fn(); - - each(obj, () => { - testFunc(); - return false; - }); - - expect(testFunc).toBeCalledTimes(1); - }); - - test('return true equals continue', () => { - const obj = { - a: 1, - b: 2, - c: 3 - }; - const testFunc = jest.fn(); - let index = -1; - - each(obj, (value) => { - index++; - if (index === 0) - return true; - testFunc(); - }); - - expect(testFunc).toBeCalledTimes(Object.keys(obj).length - 1); - }); + each(arr, (value, index) => { + if (index === 0) { + return true; + } + testFunc(); }); - describe('each through ArrayLike Object', () => { - test('returns input', () => { - const arrLikeObj = document.querySelectorAll('*'); - expect(each(arrLikeObj, () => { })).toBe(arrLikeObj); - }); - - test('correct times', () => { - const arrLikeObj = document.querySelectorAll('*'); - const eachCallback = jest.fn(); - - each(arrLikeObj, eachCallback); - expect(eachCallback).toBeCalledTimes(arrLikeObj.length); - }); - - test('correct callback values', () => { - const arrLikeObj = document.querySelectorAll('*'); - each(arrLikeObj, (value, index, src) => { - expect(value).toBe(arrLikeObj[index]); - expect(src).toBe(arrLikeObj); - }); - }); - - test('return false equals break', () => { - const arrLikeObj = document.querySelectorAll('*'); - const testFunc = jest.fn(); - - each(arrLikeObj, () => { - testFunc(); - return false; - }); - - expect(testFunc).toBeCalledTimes(1); - }); - - test('return true equals continue', () => { - const arrLikeObj = document.querySelectorAll('*'); - const testFunc = jest.fn(); - - each(arrLikeObj, (value, index) => { - if (index === 0) - return true; - testFunc(); - }); - - expect(testFunc).toBeCalledTimes(arrLikeObj.length - 1); - }); - }); + expect(testFunc).toBeCalledTimes(arr.length - 1); + }); }); - test('indexOf', () => { - const idx = indexOf([1, 2, 3], 2); - expect(idx).toBe(1); + describe('each through Object', () => { + test('returns input', () => { + const obj = { + a: 1, + b: 2, + c: 3, + }; + expect(each(obj, () => {})).toBe(obj); + }); + + test('correct times', () => { + const obj = { + a: 1, + b: 2, + c: 3, + }; + const eachCallback = jest.fn(); + + each(obj, eachCallback); + expect(eachCallback).toBeCalledTimes(Object.keys(obj).length); + }); + + test('correct callback values', () => { + const obj = { + a: 1, + b: 2, + c: 3, + }; + each(obj, (value, key, src) => { + expect(value).toBe(obj[key]); + expect(obj).toBe(src); + }); + }); + + test('return false equals break', () => { + const obj = { + a: 1, + b: 2, + c: 3, + }; + const testFunc = jest.fn(); + + each(obj, () => { + testFunc(); + return false; + }); + + expect(testFunc).toBeCalledTimes(1); + }); + + test('return true equals continue', () => { + const obj = { + a: 1, + b: 2, + c: 3, + }; + const testFunc = jest.fn(); + let index = -1; + + each(obj, () => { + index++; + if (index === 0) { + return true; + } + testFunc(); + }); + + expect(testFunc).toBeCalledTimes(Object.keys(obj).length - 1); + }); }); -}); \ No newline at end of file + + describe('each through ArrayLike Object', () => { + test('returns input', () => { + const arrLikeObj = document.querySelectorAll('*'); + expect(each(arrLikeObj, () => {})).toBe(arrLikeObj); + }); + + test('correct times', () => { + const arrLikeObj = document.querySelectorAll('*'); + const eachCallback = jest.fn(); + + each(arrLikeObj, eachCallback); + expect(eachCallback).toBeCalledTimes(arrLikeObj.length); + }); + + test('correct callback values', () => { + const arrLikeObj = document.querySelectorAll('*'); + each(arrLikeObj, (value, index, src) => { + expect(value).toBe(arrLikeObj[index]); + expect(src).toBe(arrLikeObj); + }); + }); + + test('return false equals break', () => { + const arrLikeObj = document.querySelectorAll('*'); + const testFunc = jest.fn(); + + each(arrLikeObj, () => { + testFunc(); + return false; + }); + + expect(testFunc).toBeCalledTimes(1); + }); + + test('return true equals continue', () => { + const arrLikeObj = document.querySelectorAll('*'); + const testFunc = jest.fn(); + + each(arrLikeObj, (value, index) => { + if (index === 0) { + return true; + } + testFunc(); + }); + + expect(testFunc).toBeCalledTimes(arrLikeObj.length - 1); + }); + }); + }); + + test('indexOf', () => { + const idx = indexOf([1, 2, 3], 2); + expect(idx).toBe(1); + }); +}); diff --git a/packages/overlayscrollbars/tests/core/utils/extend.test.ts b/packages/overlayscrollbars/tests/core/utils/extend.test.ts index dcd81c1..f5b2cb2 100644 --- a/packages/overlayscrollbars/tests/core/utils/extend.test.ts +++ b/packages/overlayscrollbars/tests/core/utils/extend.test.ts @@ -1,148 +1,144 @@ import { extend } from 'core/utils/extend'; import { isPlainObject } from 'core/utils/types'; -//type DeepPartial = T extends object ? { [K in keyof T]?: DeepPartial } : T +// type DeepPartial = T extends object ? { [K in keyof T]?: DeepPartial } : T type Deep = { - foo?: { - bar?: boolean, - baz?: boolean - }, - foo2?: Document + foo?: { + bar?: boolean; + baz?: boolean; + }; + foo2?: Document; }; type Settings = { - xnumber0?: null, - xnumber1?: number | null, - xnumber2?: number | null, - xstring1?: string, - xstring2?: string, - xxx?: string + xnumber0?: null; + xnumber1?: number | null; + xnumber2?: number | null; + xstring1?: string; + xstring2?: string; + xxx?: string; }; type NestedArray = { - arr: Array | object + arr: Array | object; }; -//https://github.com/jquery/jquery/blob/master/test/unit/core.js#L965 +// https://github.com/jquery/jquery/blob/master/test/unit/core.js#L965 describe('extend', () => { - test('equals object assign', () => { - let settings: Settings = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }; - const options: Settings = { xnumber2: 1, xstring2: "x", xxx: "newstring" }; - const optionsCopy: Settings = { xnumber2: 1, xstring2: "x", xxx: "newstring" }; - const merged: Settings = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "x", xxx: "newstring" }; + test('equals object assign', () => { + let settings: Settings = { xnumber1: 5, xnumber2: 7, xstring1: 'peter', xstring2: 'pan' }; + const options: Settings = { xnumber2: 1, xstring2: 'x', xxx: 'newstring' }; + const optionsCopy: Settings = { xnumber2: 1, xstring2: 'x', xxx: 'newstring' }; + const merged: Settings = { xnumber1: 5, xnumber2: 1, xstring1: 'peter', xstring2: 'x', xxx: 'newstring' }; - extend(settings, options); - expect(settings).toEqual(merged); - expect(options).toEqual(optionsCopy); + extend(settings, options); + expect(settings).toEqual(merged); + expect(options).toEqual(optionsCopy); - extend(settings, null, options); - expect(settings).toEqual(merged); - expect(options).toEqual(optionsCopy); + extend(settings, null, options); + expect(settings).toEqual(merged); + expect(options).toEqual(optionsCopy); + const deep1: Deep = { foo: { bar: true } }; + const deep2: Deep = { foo: { baz: true }, foo2: document }; + const deep2copy: Deep = { foo: { baz: true }, foo2: document }; + const deepmerged: Deep = { foo: { bar: true, baz: true }, foo2: document }; - const deep1: Deep = { foo: { bar: true } }; - const deep2: Deep = { foo: { baz: true }, foo2: document }; - const deep2copy: Deep = { foo: { baz: true }, foo2: document }; - const deepmerged: Deep = { foo: { bar: true, baz: true }, foo2: document }; + extend(deep1, deep2); + expect(deep1.foo).toEqual(deepmerged.foo); + expect(deep2.foo).toEqual(deep2copy.foo); + expect(deep1.foo2).toBe(document); - extend(deep1, deep2); - expect(deep1.foo).toEqual(deepmerged.foo); - expect(deep2.foo).toEqual(deep2copy.foo); - expect(deep1.foo2).toBe(document); + const arr = [1, 2, 3]; + const nestedArray: NestedArray = { arr }; + expect(extend({}, nestedArray).arr).not.toBe(arr); + expect(Array.isArray(extend({ arr: {} }, nestedArray).arr)).toBeTruthy(); + expect(Array.isArray(extend({ arr: {} }, nestedArray).arr)).toBeTruthy(); + expect(isPlainObject(extend({ arr }, { arr: {} }).arr)).toBeTruthy(); - const arr = [1, 2, 3]; - const nestedArray: NestedArray = { arr: arr }; + let empty: { foo?: any } = {}; + const optionsWithLength = { foo: { length: -1 } }; - expect(extend({}, nestedArray).arr).not.toBe(arr); - expect(Array.isArray(extend({ arr: {} }, nestedArray).arr)).toBeTruthy(); - expect(Array.isArray(extend({ arr: {} }, nestedArray).arr)).toBeTruthy(); - expect(isPlainObject(extend({ arr: arr }, { arr: {} }).arr)).toBeTruthy(); + extend(empty, optionsWithLength); + expect(empty.foo).toEqual(optionsWithLength.foo); - let empty = {}; - const optionsWithLength = { "foo": { "length": -1 } }; + empty = {}; + const optionsWithDate = { foo: { date: new Date() } }; + extend(empty, optionsWithDate); + expect(empty.foo).toEqual(optionsWithDate.foo); - extend(empty, optionsWithLength); - expect(empty["foo"]).toEqual(optionsWithLength["foo"]); + /** @constructor */ + const MyKlass = function () {}; + // @ts-ignore + const customObject = new MyKlass(); + const optionsWithCustomObject = { foo: { date: customObject } }; + empty = {}; - empty = {}; - const optionsWithDate = { "foo": { "date": new Date() } }; + extend(empty, optionsWithCustomObject); + expect(empty.foo && empty.foo.date === customObject).toBeTruthy(); + // Makes the class a little more realistic + MyKlass.prototype = { someMethod() {} }; + empty = {}; - extend(empty, optionsWithDate); - expect(empty["foo"]).toEqual(optionsWithDate["foo"]); + extend(empty, optionsWithCustomObject); + expect(empty.foo && empty.foo.date === customObject).toBeTruthy(); - /** @constructor */ - const myKlass = function () { }; - // @ts-ignore - const customObject = new myKlass(); - const optionsWithCustomObject = { "foo": { "date": customObject } }; - empty = {}; + const MyNumber = Number; - extend(empty, optionsWithCustomObject); - expect(empty["foo"] && empty["foo"]["date"] === customObject).toBeTruthy(); + let ret: any = extend({ foo: 4 }, { foo: new MyNumber(5) }); + expect(parseInt(ret.foo?.toString() as string, 10) === 5).toBeTruthy(); - // Makes the class a little more realistic - myKlass.prototype = { "someMethod": function () { } }; - empty = {}; + let nullUndef = extend({}, options, { xnumber2: null }); + expect(nullUndef.xnumber2).toBe(null); - extend(empty, optionsWithCustomObject); - expect(empty["foo"] && empty["foo"]["date"] === customObject).toBeTruthy(); + // @ts-ignore + nullUndef = extend({}, options, { xnumber2: undefined }); + expect(nullUndef.xnumber2).toBe(options.xnumber2); - const MyNumber = Number; + // @ts-ignore + nullUndef = extend({}, options, { xnumber0: null }); + expect(nullUndef.xnumber0).toBe(null); - var ret: any = extend({ foo: 4 }, { foo: new MyNumber(5) }); - expect(parseInt(ret.foo?.toString() as string, 10) === 5).toBeTruthy(); + const target = {}; + const recursive = { foo: target, bar: 5 }; - let nullUndef = extend({}, options, { xnumber2: null }); - expect(nullUndef.xnumber2).toBe(null); + extend(target, recursive); + expect(target).toEqual({ bar: 5 }); - // @ts-ignore - nullUndef = extend({}, options, { xnumber2: undefined }); - expect(nullUndef.xnumber2).toBe(options.xnumber2); + ret = extend({ foo: [] }, { foo: [0] }); + expect(ret.foo?.length).toBe(1); - // @ts-ignore - nullUndef = extend({}, options, { xnumber0: null }); - expect(nullUndef.xnumber0).toBe(null); + ret = extend({ foo: '1,2,3' }, { foo: [1, 2, 3] }); + expect(typeof ret.foo !== 'string').toBeTruthy(); - const target = {}; - const recursive = { foo: target, bar: 5 }; + ret = extend({ foo: 'bar' }, { foo: null }); + expect(typeof ret.foo !== 'undefined').toBeTruthy(); - extend(target, recursive); - expect(target).toEqual({ bar: 5 }); + const obj = { foo: null }; + extend(obj, { foo: 'notnull' }); + expect(obj.foo).toBe('notnull'); - ret = extend({ foo: [] }, { foo: [0] }); - expect(ret.foo?.length).toBe(1); + const func: { (): void; key?: string } = () => {}; + extend(func, { key: 'value' }); + expect(func.key).toBe('value'); - ret = extend({ foo: "1,2,3" }, { foo: [1, 2, 3] }); - expect(typeof ret.foo !== "string").toBeTruthy(); + const defaults = { xnumber1: 5, xnumber2: 7, xstring1: 'peter', xstring2: 'pan' }; + const defaultsCopy = { xnumber1: 5, xnumber2: 7, xstring1: 'peter', xstring2: 'pan' }; + const options1 = { xnumber2: 1, xstring2: 'x' }; + const options1Copy = { xnumber2: 1, xstring2: 'x' }; + const options2 = { xstring2: 'xx', xxx: 'newstringx' }; + const options2Copy = { xstring2: 'xx', xxx: 'newstringx' }; + const merged2 = { xnumber1: 5, xnumber2: 1, xstring1: 'peter', xstring2: 'xx', xxx: 'newstringx' }; - ret = extend({ foo: "bar" }, { foo: null }); - expect(typeof ret.foo !== "undefined").toBeTruthy(); + settings = extend({}, defaults, options1, options2); + expect(settings).toEqual(merged2); + expect(defaults).toEqual(defaultsCopy); + expect(options1).toEqual(options1Copy); + expect(options2).toEqual(options2Copy); - const obj = { foo: null }; - extend(obj, { foo: "notnull" }); - expect(obj.foo).toBe("notnull"); - - const func: { (): void, key?: string } = () => { }; - extend(func, { key: "value" }); - expect(func.key).toBe("value"); - - const defaults = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }; - const defaultsCopy = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }; - const options1 = { xnumber2: 1, xstring2: "x" }; - const options1Copy = { xnumber2: 1, xstring2: "x" }; - const options2 = { xstring2: "xx", xxx: "newstringx" }; - const options2Copy = { xstring2: "xx", xxx: "newstringx" }; - const merged2 = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "xx", xxx: "newstringx" }; - - settings = extend({}, defaults, options1, options2); - expect(settings).toEqual(merged2); - expect(defaults).toEqual(defaultsCopy); - expect(options1).toEqual(options1Copy); - expect(options2).toEqual(options2Copy); - - expect(extend('', { foo: 1 })).toEqual({ foo: 1 }); - expect(extend(null, { foo: null, deep: { foo: null } })).toEqual({ foo: null, deep: { foo: null } }); - expect(extend(12, { foo: 1, deep: { foo: null, text: '' } })).toEqual({ foo: 1, deep: { foo: null, text: '' } }); - }); -}); \ No newline at end of file + expect(extend('', { foo: 1 })).toEqual({ foo: 1 }); + expect(extend(null, { foo: null, deep: { foo: null } })).toEqual({ foo: null, deep: { foo: null } }); + expect(extend(12, { foo: 1, deep: { foo: null, text: '' } })).toEqual({ foo: 1, deep: { foo: null, text: '' } }); + }); +}); diff --git a/packages/overlayscrollbars/tests/core/utils/types.test.ts b/packages/overlayscrollbars/tests/core/utils/types.test.ts index 96d7f49..1a491a2 100644 --- a/packages/overlayscrollbars/tests/core/utils/types.test.ts +++ b/packages/overlayscrollbars/tests/core/utils/types.test.ts @@ -1,216 +1,229 @@ -import { type, isNumber, isString, isBoolean, isFunction, isArray, isObject, isUndefined, isNull, isArrayLike, isPlainObject, isEmptyObject, isHTMLElement } from 'core/utils/types'; +import { + type, + isNumber, + isString, + isBoolean, + isFunction, + isArray, + isObject, + isUndefined, + isNull, + isArrayLike, + isPlainObject, + isEmptyObject, + isHTMLElement, +} from 'core/utils/types'; -const testfn = function () { }; -const testfnAsync = async function () { }; +const testfn = function () {}; +const testfnAsync = async function () {}; const typeNameValueMap = { - null: null, - undefined: undefined, - void0: void 0, - infinity: Infinity, - number: 0, - string: '0', - booleanTrue: true, - booleanFalse: false, - function: testfn, - functionAsync: testfnAsync, - functionArrow: () => { }, - functionArrowAsync: async () => { }, - functionConstructor: new (testfn as any)(), - arrayEmpty: [], - objectEmpty: {}, - array: [1, 2, 3], - object: { a: 1, b: 2, c: 3 }, - objectCreate: Object.create(null), - arrayLikeObject: { 0: 0, 1: 1, 2: 2, length: 3 }, - newNumber: new Number(0), - newString: new String('0'), - newBoolean: new Boolean(false), - newFunction: new Function(''), - newArray: new Array(), - document: document, - window: window, - body: document.body, - querySelectorAll: document.querySelectorAll('*'), + null: null, + undefined, + void0: void 0, + infinity: Infinity, + number: 0, + string: '0', + booleanTrue: true, + booleanFalse: false, + function: testfn, + functionAsync: testfnAsync, + functionArrow: () => {}, + functionArrowAsync: async () => {}, + functionConstructor: new (testfn as any)(), + arrayEmpty: [], + objectEmpty: {}, + array: [1, 2, 3], + object: { a: 1, b: 2, c: 3 }, + objectCreate: Object.create(null), + arrayLikeObject: { 0: 0, 1: 1, 2: 2, length: 3 }, + newNumber: new Number(0), + newString: new String('0'), + newBoolean: new Boolean(false), + newFunction: new Function(''), + newArray: [], + document, + window, + body: document.body, + querySelectorAll: document.querySelectorAll('*'), }; const testTypeFn = (typeFunc: Function, expectedTypeNameValueResultMap: any) => { - Object.keys(typeNameValueMap).forEach(comparisonKey => { - const comparisonValue = typeNameValueMap[comparisonKey]; - const result = typeFunc(comparisonValue); - if (expectedTypeNameValueResultMap.hasOwnProperty(comparisonKey)) { - const todoComparisonValue = expectedTypeNameValueResultMap[comparisonKey]; - expect(result + comparisonKey).toBe(todoComparisonValue + comparisonKey); - } - else { - expect(result + comparisonKey).toBe(false + comparisonKey); - } - }); + Object.keys(typeNameValueMap).forEach((comparisonKey) => { + const comparisonValue = typeNameValueMap[comparisonKey]; + const result = typeFunc(comparisonValue); + if (expectedTypeNameValueResultMap.hasOwnProperty(comparisonKey)) { + const todoComparisonValue = expectedTypeNameValueResultMap[comparisonKey]; + expect(result + comparisonKey).toBe(todoComparisonValue + comparisonKey); + } else { + expect(result + comparisonKey).toBe(false + comparisonKey); + } + }); }; describe('types', () => { - test('type', () => { - expect(type(undefined)).toBe("undefined"); - expect(type(null)).toBe("null"); - expect(type(true)).toBe("boolean"); - expect(type(new Boolean())).toBe("boolean"); - expect(type(3)).toBe("number"); - expect(type(new Number(3))).toBe("number"); - expect(type("test")).toBe("string"); - expect(type(new String("test"))).toBe("string"); - expect(type(function () { })).toBe("function"); - expect(type([])).toBe("array"); - expect(type(new Array())).toBe("array"); - expect(type(new Date())).toBe("date"); - expect(type(new Error())).toBe("error"); - expect(type(Symbol())).toBe("symbol"); - expect(type(Object(Symbol()))).toBe("symbol"); - expect(type(/test/)).toBe("regexp"); + test('type', () => { + expect(type(undefined)).toBe('undefined'); + expect(type(null)).toBe('null'); + expect(type(true)).toBe('boolean'); + expect(type(new Boolean())).toBe('boolean'); + expect(type(3)).toBe('number'); + expect(type(new Number(3))).toBe('number'); + expect(type('test')).toBe('string'); + expect(type(new String('test'))).toBe('string'); + expect(type(function () {})).toBe('function'); + expect(type([])).toBe('array'); + expect(type([])).toBe('array'); + expect(type(new Date())).toBe('date'); + expect(type(new Error())).toBe('error'); + expect(type(Symbol())).toBe('symbol'); + expect(type(Object(Symbol()))).toBe('symbol'); + expect(type(/test/)).toBe('regexp'); + }); + + test('isNumber', () => { + testTypeFn(isNumber, { + number: true, + infinity: true, + newNumber: false, // new Number() not a number is ok + }); + }); + + test('isString', () => { + testTypeFn(isString, { + string: true, + newString: false, // new String() not a string is ok + }); + }); + + test('isBoolean', () => { + testTypeFn(isBoolean, { + booleanTrue: true, + booleanFalse: true, + newBoolean: false, // new Boolean() not a boolean is ok + }); + }); + + test('isFunction', () => { + testTypeFn(isFunction, { + function: true, + functionAsync: true, + functionArrow: true, + functionArrowAsync: true, + newFunction: true, + }); + }); + + test('isArray', () => { + testTypeFn(isArray, { + array: true, + arrayEmpty: true, + newArray: true, + }); + }); + + test('isObject', () => { + testTypeFn(isObject, { + object: true, + objectEmpty: true, + objectCreate: true, + document: true, + window: true, + body: true, + querySelectorAll: true, + functionConstructor: true, + arrayLikeObject: true, + + // is ok since nobody does this + newNumber: true, + newString: true, + newBoolean: true, + }); + }); + + test('isUndefined', () => { + testTypeFn(isUndefined, { + undefined: true, + void0: true, + }); + }); + + test('isNull', () => { + testTypeFn(isNull, { + null: true, + }); + }); + + test('isArrayLike', () => { + testTypeFn(isArrayLike, { + array: true, + arrayEmpty: true, + arrayLikeObject: true, + querySelectorAll: true, + string: true, + newString: true, + newArray: true, + // is ok I guess... + window: true, + }); + }); + + test('isPlainObject', () => { + testTypeFn(isPlainObject, { + object: true, + objectEmpty: true, + objectCreate: true, + arrayLikeObject: true, + }); + }); + + test('isEmptyObject', () => { + testTypeFn(isEmptyObject, { + objectEmpty: true, + objectCreate: true, + arrayEmpty: true, + + newNumber: true, + newBoolean: true, + newFunction: true, + newArray: true, + + null: true, + undefined: true, + booleanTrue: true, + booleanFalse: true, + void0: true, + number: true, + infinity: true, + functionConstructor: true, + function: true, + functionAsync: true, + functionArrow: true, + functionArrowAsync: true, + }); + }); + + test('isHTMLElement', () => { + const temp = window.HTMLElement; + + testTypeFn(isHTMLElement, { + body: true, + }); + Array.from(document.querySelectorAll('*')).forEach((elm) => { + expect(isHTMLElement(elm)).toBeTruthy(); }); - test('isNumber', () => { - testTypeFn(isNumber, { - number: true, - infinity: true, - newNumber: false // new Number() not a number is ok - }); + delete window.HTMLElement; + // @ts-ignore + window.HTMLElement = null; + + testTypeFn(isHTMLElement, { + body: true, + }); + Array.from(document.querySelectorAll('*')).forEach((elm) => { + expect(isHTMLElement(elm)).toBeTruthy(); }); - test('isString', () => { - testTypeFn(isString, { - string: true, - newString: false // new String() not a string is ok - }); - }); - - test('isBoolean', () => { - testTypeFn(isBoolean, { - booleanTrue: true, - booleanFalse: true, - newBoolean: false // new Boolean() not a boolean is ok - }); - }); - - test('isFunction', () => { - testTypeFn(isFunction, { - function: true, - functionAsync: true, - functionArrow: true, - functionArrowAsync: true, - newFunction: true - }); - }); - - test('isArray', () => { - testTypeFn(isArray, { - array: true, - arrayEmpty: true, - newArray: true, - }); - }); - - test('isObject', () => { - testTypeFn(isObject, { - object: true, - objectEmpty: true, - objectCreate: true, - document: true, - window: true, - body: true, - querySelectorAll: true, - functionConstructor: true, - arrayLikeObject: true, - - // is ok since nobody does this - newNumber: true, - newString: true, - newBoolean: true, - }); - }); - - test('isUndefined', () => { - testTypeFn(isUndefined, { - undefined: true, - void0: true, - }); - }); - - test('isNull', () => { - testTypeFn(isNull, { - null: true, - }); - }); - - test('isArrayLike', () => { - testTypeFn(isArrayLike, { - array: true, - arrayEmpty: true, - arrayLikeObject: true, - querySelectorAll: true, - string: true, - newString: true, - newArray: true, - // is ok I guess... - window: true, - }); - }); - - test('isPlainObject', () => { - testTypeFn(isPlainObject, { - object: true, - objectEmpty: true, - objectCreate: true, - arrayLikeObject: true, - }); - }); - - test('isEmptyObject', () => { - testTypeFn(isEmptyObject, { - objectEmpty: true, - objectCreate: true, - arrayEmpty: true, - - newNumber: true, - newBoolean: true, - newFunction: true, - newArray: true, - - null: true, - undefined: true, - booleanTrue: true, - booleanFalse: true, - void0: true, - number: true, - infinity: true, - functionConstructor: true, - function: true, - functionAsync: true, - functionArrow: true, - functionArrowAsync: true, - }); - }); - - test('isHTMLElement', () => { - const temp = window.HTMLElement; - - testTypeFn(isHTMLElement, { - body: true - }); - Array.from(document.querySelectorAll('*')).forEach((elm) => { - expect(isHTMLElement(elm)).toBeTruthy(); - }); - - delete window.HTMLElement; - // @ts-ignore - window.HTMLElement = null; - - testTypeFn(isHTMLElement, { - body: true - }); - Array.from(document.querySelectorAll('*')).forEach((elm) => { - expect(isHTMLElement(elm)).toBeTruthy(); - }); - - window.HTMLElement = temp; - }); -}); \ No newline at end of file + window.HTMLElement = temp; + }); +}); diff --git a/packages/overlayscrollbars/tests/instances.test.ts b/packages/overlayscrollbars/tests/instances.test.ts index 6e6e133..141d97e 100644 --- a/packages/overlayscrollbars/tests/instances.test.ts +++ b/packages/overlayscrollbars/tests/instances.test.ts @@ -4,26 +4,26 @@ const testElm = document.body; const testInstance = { value: 'value' }; describe('instances', () => { - afterEach(() => { - removeInstance(testElm); - }); + afterEach(() => { + removeInstance(testElm); + }); - test('add instance', () => { - addInstance(testElm, testInstance); + test('add instance', () => { + addInstance(testElm, testInstance); - expect(allInstances().size).toBe(1); - }); + expect(allInstances().size).toBe(1); + }); - test('remove instance', () => { - addInstance(testElm, testInstance); - removeInstance(testElm); + test('remove instance', () => { + addInstance(testElm, testInstance); + removeInstance(testElm); - expect(allInstances().size).toBe(0); - }); + expect(allInstances().size).toBe(0); + }); - test('get instance', () => { - addInstance(testElm, testInstance); + test('get instance', () => { + addInstance(testElm, testInstance); - expect(getInstance(testElm)).toBe(testInstance); - }); -}); \ No newline at end of file + expect(getInstance(testElm)).toBe(testInstance); + }); +}); diff --git a/packages/overlayscrollbars/tests/options.test.ts b/packages/overlayscrollbars/tests/options.test.ts index 2350850..458ab29 100644 --- a/packages/overlayscrollbars/tests/options.test.ts +++ b/packages/overlayscrollbars/tests/options.test.ts @@ -2,8 +2,8 @@ import { validate } from 'core/options'; import { defaultOptions, optionsTemplate } from 'options'; describe('options', () => { - test('default options matching the options template', () => { - const { validated } = validate(defaultOptions, optionsTemplate); - expect(validated).toEqual(defaultOptions); - }); -}); \ No newline at end of file + test('default options matching the options template', () => { + const { validated } = validate(defaultOptions, optionsTemplate); + expect(validated).toEqual(defaultOptions); + }); +}); diff --git a/packages/overlayscrollbars/tsconfig.json b/packages/overlayscrollbars/tsconfig.json index 99d9862..27c2657 100644 --- a/packages/overlayscrollbars/tsconfig.json +++ b/packages/overlayscrollbars/tsconfig.json @@ -1,28 +1,6 @@ { - "compilerOptions": { - "strict": true, - "allowJs": false, - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "baseUrl": "./src", - "target": "es6", - "sourceMap": true, - "jsx": "react", - "lib": [ - "es6", - "dom", - "es2016", - "es2017" - ], - "declaration": true, - "suppressImplicitAnyIndexErrors": true, - "module": "es6", - "moduleResolution": "node", - "removeComments": true - }, - "exclude": [ - "./dist", - "**/*.test.*", - "node_modules" - ] -} \ No newline at end of file + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": "./src/" + } +} diff --git a/packages/overlayscrollbars/types/core/dom/attributes.d.ts b/packages/overlayscrollbars/types/core/dom/attribute.d.ts similarity index 100% rename from packages/overlayscrollbars/types/core/dom/attributes.d.ts rename to packages/overlayscrollbars/types/core/dom/attribute.d.ts diff --git a/packages/overlayscrollbars/types/core/dom/classes.d.ts b/packages/overlayscrollbars/types/core/dom/class.d.ts similarity index 100% rename from packages/overlayscrollbars/types/core/dom/classes.d.ts rename to packages/overlayscrollbars/types/core/dom/class.d.ts diff --git a/packages/overlayscrollbars/types/core/dom/index.d.ts b/packages/overlayscrollbars/types/core/dom/index.d.ts index 0de3b87..e8eb32f 100644 --- a/packages/overlayscrollbars/types/core/dom/index.d.ts +++ b/packages/overlayscrollbars/types/core/dom/index.d.ts @@ -1,5 +1,5 @@ -export * from 'core/dom/attributes'; -export * from 'core/dom/classes'; +export * from 'core/dom/attribute'; +export * from 'core/dom/class'; export * from 'core/dom/create'; export * from 'core/dom/style'; export * from 'core/dom/manipulation'; diff --git a/packages/overlayscrollbars/types/core/options/transformation.d.ts b/packages/overlayscrollbars/types/core/options/transformation.d.ts index 8fc0291..89e470f 100644 --- a/packages/overlayscrollbars/types/core/options/transformation.d.ts +++ b/packages/overlayscrollbars/types/core/options/transformation.d.ts @@ -1,3 +1,3 @@ -import { OptionsTemplate, OptionsAndOptionsTemplate } from "core/typings"; +import { OptionsTemplate, OptionsAndOptionsTemplate } from 'core/typings'; export declare function transform>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate): T; export declare function transform>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate, toTemplate: true | void): OptionsTemplate; diff --git a/packages/overlayscrollbars/types/core/typings.d.ts b/packages/overlayscrollbars/types/core/typings.d.ts index 836713e..ff451db 100644 --- a/packages/overlayscrollbars/types/core/typings.d.ts +++ b/packages/overlayscrollbars/types/core/typings.d.ts @@ -21,13 +21,13 @@ export declare type OptionsAndOptionsTemplate> = { [P in keyof T]: PlainObject extends T[P] ? OptionsAndOptionsTemplate> : T[P] extends OptionsTemplateNativeTypes ? OptionsAndOptionsTemplateValue : never; }; declare type OptionsTemplateTypeMap = { - '__TPL_boolean_TYPE__': boolean; - '__TPL_number_TYPE__': number; - '__TPL_string_TYPE__': string; - '__TPL_array_TYPE__': Array; - '__TPL_function_TYPE__': Func; - '__TPL_null_TYPE__': null; - '__TPL_object_TYPE__': object; + __TPL_boolean_TYPE__: boolean; + __TPL_number_TYPE__: number; + __TPL_string_TYPE__: string; + __TPL_array_TYPE__: Array; + __TPL_function_TYPE__: Func; + __TPL_null_TYPE__: null; + __TPL_object_TYPE__: object; }; declare type ExtractPropsKey = { [P in keyof T]: TProps extends T[P] ? P : never; diff --git a/packages/overlayscrollbars/types/core/utils/arrays.d.ts b/packages/overlayscrollbars/types/core/utils/array.d.ts similarity index 100% rename from packages/overlayscrollbars/types/core/utils/arrays.d.ts rename to packages/overlayscrollbars/types/core/utils/array.d.ts diff --git a/packages/overlayscrollbars/types/core/utils/index.d.ts b/packages/overlayscrollbars/types/core/utils/index.d.ts index 5a30064..db59a3a 100644 --- a/packages/overlayscrollbars/types/core/utils/index.d.ts +++ b/packages/overlayscrollbars/types/core/utils/index.d.ts @@ -1,3 +1,4 @@ -export * from 'core/utils/arrays'; +export * from 'core/utils/array'; +export * from 'core/utils/object'; export * from 'core/utils/extend'; export * from 'core/utils/types'; diff --git a/packages/overlayscrollbars/types/core/utils/object.d.ts b/packages/overlayscrollbars/types/core/utils/object.d.ts new file mode 100644 index 0000000..8efca0b --- /dev/null +++ b/packages/overlayscrollbars/types/core/utils/object.d.ts @@ -0,0 +1,2 @@ +export declare const hasOwnProperty: (obj: any, prop: string | number | symbol) => boolean; +export declare const keys: (obj: any) => Array; diff --git a/packages/overlayscrollbars/types/core/utils/types.d.ts b/packages/overlayscrollbars/types/core/utils/types.d.ts index 435b0e9..7ceca08 100644 --- a/packages/overlayscrollbars/types/core/utils/types.d.ts +++ b/packages/overlayscrollbars/types/core/utils/types.d.ts @@ -3,11 +3,11 @@ export declare const type: (obj: any) => string; export declare function isNumber(obj: any): obj is number; export declare function isString(obj: any): obj is string; export declare function isBoolean(obj: any): obj is boolean; -export declare function isObject(obj: any): boolean; -export declare function isFunction(obj: any): obj is Function; +export declare function isFunction(obj: any): obj is (...args: Array) => unknown; export declare function isUndefined(obj: any): obj is undefined; export declare function isNull(obj: any): obj is null; export declare function isArray(obj: any): obj is Array; +export declare function isObject(obj: any): boolean; export declare function isArrayLike(obj: any): obj is ArrayLike; export declare function isPlainObject(obj: any): obj is PlainObject; export declare function isHTMLElement(obj: any): obj is HTMLElement; diff --git a/packages/overlayscrollbars/types/index.d.ts b/packages/overlayscrollbars/types/index.d.ts index 724512d..4ba5634 100644 --- a/packages/overlayscrollbars/types/index.d.ts +++ b/packages/overlayscrollbars/types/index.d.ts @@ -1,3 +1,3 @@ -/// -declare const _default: () => (number | readonly Node[] | JQuery)[]; +declare const _default: () => (number | readonly Node[])[]; export default _default; +export declare const a = 1; diff --git a/packages/overlayscrollbars/types/options.d.ts b/packages/overlayscrollbars/types/options.d.ts index 829f9d5..122501a 100644 --- a/packages/overlayscrollbars/types/options.d.ts +++ b/packages/overlayscrollbars/types/options.d.ts @@ -1,4 +1,4 @@ -import { OptionsTemplate } from "core/typings"; -import { OverlayScrollbars } from "typings"; -export declare const optionsTemplate: OptionsTemplate>; -export declare const defaultOptions: OverlayScrollbars.Options; +import { OptionsTemplate } from 'core/typings'; +import { Options } from 'typings'; +export declare const optionsTemplate: OptionsTemplate>; +export declare const defaultOptions: Options; diff --git a/packages/overlayscrollbars/types/typings.d.ts b/packages/overlayscrollbars/types/typings.d.ts index 8024029..1d58cc7 100644 --- a/packages/overlayscrollbars/types/typings.d.ts +++ b/packages/overlayscrollbars/types/typings.d.ts @@ -1,295 +1,81 @@ -export declare namespace OverlayScrollbars { - type ResizeBehavior = "none" | "both" | "horizontal" | "vertical"; - type OverflowBehavior = "hidden" | "scroll" | "visible-hidden" | "visible-scroll"; - type VisibilityBehavior = "visible" | "hidden" | "auto"; - type AutoHideBehavior = "never" | "scroll" | "leave" | "move"; - type ScrollBehavior = "always" | "ifneeded" | "never"; - type BlockBehavior = "begin" | "end" | "center" | "nearest"; - type Easing = string | null | undefined; - type Margin = number | boolean; - type Position = number | string; - type Extensions = string | ReadonlyArray | { - [extensionName: string]: {}; +export declare type ResizeBehavior = 'none' | 'both' | 'horizontal' | 'vertical'; +export declare type OverflowBehavior = 'hidden' | 'scroll' | 'visible-hidden' | 'visible-scroll'; +export declare type VisibilityBehavior = 'visible' | 'hidden' | 'auto'; +export declare type AutoHideBehavior = 'never' | 'scroll' | 'leave' | 'move'; +export declare type ScrollBehavior = 'always' | 'ifneeded' | 'never'; +export declare type BasicEventCallback = (this: any) => void; +export declare type ScrollEventCallback = (this: any, args?: UIEvent) => void; +export declare type OverflowChangedCallback = (this: any, args?: OverflowChangedArgs) => void; +export declare type OverflowAmountChangedCallback = (this: any, args?: OverflowAmountChangedArgs) => void; +export declare type DirectionChangedCallback = (this: any, args?: DirectionChangedArgs) => void; +export declare type SizeChangedCallback = (this: any, args?: SizeChangedArgs) => void; +export declare type UpdatedCallback = (this: any, args?: UpdatedArgs) => void; +export interface Options { + className?: string | null; + resize?: ResizeBehavior; + sizeAutoCapable?: boolean; + clipAlways?: boolean; + normalizeRTL?: boolean; + paddingAbsolute?: boolean; + autoUpdate?: boolean | null; + autoUpdateInterval?: number; + updateOnLoad?: string | ReadonlyArray | null; + nativeScrollbarsOverlaid?: { + showNativeScrollbars?: boolean; + initialize?: boolean; }; - type BasicEventCallback = (this: OverlayScrollbars) => void; - type ScrollEventCallback = (this: OverlayScrollbars, args?: UIEvent) => void; - type OverflowChangedCallback = (this: OverlayScrollbars, args?: OverflowChangedArgs) => void; - type OverflowAmountChangedCallback = (this: OverlayScrollbars, args?: OverflowAmountChangedArgs) => void; - type DirectionChangedCallback = (this: OverlayScrollbars, args?: DirectionChangedArgs) => void; - type SizeChangedCallback = (this: OverlayScrollbars, args?: SizeChangedArgs) => void; - type UpdatedCallback = (this: OverlayScrollbars, args?: UpdatedArgs) => void; - type Coordinates = { - x?: Position; - y?: Position; - } | { - l?: Position; - t?: Position; - } | { - left?: Position; - top?: Position; - } | [Position, Position] | Position | HTMLElement | { - el: HTMLElement; - scroll?: ScrollBehavior | { - x?: ScrollBehavior; - y?: ScrollBehavior; - } | [ScrollBehavior, ScrollBehavior]; - block?: BlockBehavior | { - x?: BlockBehavior; - y?: BlockBehavior; - } | [BlockBehavior, BlockBehavior]; - margin?: Margin | { - top?: Margin; - right?: Margin; - bottom?: Margin; - left?: Margin; - } | [Margin, Margin] | [Margin, Margin, Margin, Margin]; + overflowBehavior?: { + x?: OverflowBehavior; + y?: OverflowBehavior; + }; + scrollbars?: { + visibility?: VisibilityBehavior; + autoHide?: AutoHideBehavior; + autoHideDelay?: number; + dragScrolling?: boolean; + clickScrolling?: boolean; + touchSupport?: boolean; + snapHandle?: boolean; + }; + textarea?: { + dynWidth?: boolean; + dynHeight?: boolean; + inheritedAttrs?: string | ReadonlyArray | null; + }; + callbacks?: { + onInitialized?: BasicEventCallback | null; + onInitializationWithdrawn?: BasicEventCallback | null; + onDestroyed?: BasicEventCallback | null; + onScrollStart?: ScrollEventCallback | null; + onScroll?: ScrollEventCallback | null; + onScrollStop?: ScrollEventCallback | null; + onOverflowChanged?: OverflowChangedCallback | null; + onOverflowAmountChanged?: OverflowAmountChangedCallback | null; + onDirectionChanged?: DirectionChangedCallback | null; + onContentSizeChanged?: SizeChangedCallback | null; + onHostSizeChanged?: SizeChangedCallback | null; + onUpdated?: UpdatedCallback | null; }; - interface OverflowChangedArgs { - x: boolean; - y: boolean; - xScrollable: boolean; - yScrollable: boolean; - clipped: boolean; - } - interface OverflowAmountChangedArgs { - x: number; - y: number; - } - interface DirectionChangedArgs { - isRTL: number; - dir: string; - } - interface SizeChangedArgs { - width: number; - height: number; - } - interface UpdatedArgs { - forced: boolean; - } - interface Options { - className?: string | null; - resize?: ResizeBehavior; - sizeAutoCapable?: boolean; - clipAlways?: boolean; - normalizeRTL?: boolean; - paddingAbsolute?: boolean; - autoUpdate?: boolean | null; - autoUpdateInterval?: number; - updateOnLoad?: string | ReadonlyArray | null; - nativeScrollbarsOverlaid?: { - showNativeScrollbars?: boolean; - initialize?: boolean; - }; - overflowBehavior?: { - x?: OverflowBehavior; - y?: OverflowBehavior; - }; - scrollbars?: { - visibility?: VisibilityBehavior; - autoHide?: AutoHideBehavior; - autoHideDelay?: number; - dragScrolling?: boolean; - clickScrolling?: boolean; - touchSupport?: boolean; - snapHandle?: boolean; - }; - textarea?: { - dynWidth?: boolean; - dynHeight?: boolean; - inheritedAttrs?: string | ReadonlyArray | null; - }; - callbacks?: { - onInitialized?: BasicEventCallback | null; - onInitializationWithdrawn?: BasicEventCallback | null; - onDestroyed?: BasicEventCallback | null; - onScrollStart?: ScrollEventCallback | null; - onScroll?: ScrollEventCallback | null; - onScrollStop?: ScrollEventCallback | null; - onOverflowChanged?: OverflowChangedCallback | null; - onOverflowAmountChanged?: OverflowAmountChangedCallback | null; - onDirectionChanged?: DirectionChangedCallback | null; - onContentSizeChanged?: SizeChangedCallback | null; - onHostSizeChanged?: SizeChangedCallback | null; - onUpdated?: UpdatedCallback | null; - }; - } - interface ScrollInfo { - position: { - x: number; - y: number; - }; - ratio: { - x: number; - y: number; - }; - max: { - x: number; - y: number; - }; - handleOffset: { - x: number; - y: number; - }; - handleLength: { - x: number; - y: number; - }; - handleLengthRatio: { - x: number; - y: number; - }; - trackLength: { - x: number; - y: number; - }; - snappedHandleOffset: { - x: number; - y: number; - }; - isRTL: boolean; - isRTLNormalized: boolean; - } - interface Elements { - target: HTMLElement; - host: HTMLElement; - padding: HTMLElement; - viewport: HTMLElement; - content: HTMLElement; - scrollbarHorizontal: { - scrollbar: HTMLElement; - track: HTMLElement; - handle: HTMLElement; - }; - scrollbarVertical: { - scrollbar: HTMLElement; - track: HTMLElement; - handle: HTMLElement; - }; - scrollbarCorner: HTMLElement; - } - interface State { - destroyed: boolean; - sleeping: boolean; - autoUpdate: boolean; - widthAuto: boolean; - heightAuto: boolean; - documentMixed: boolean; - padding: { - t: number; - r: number; - b: number; - l: number; - }; - overflowAmount: { - x: number; - y: number; - }; - hideOverflow: { - x: boolean; - y: boolean; - xs: boolean; - ys: boolean; - }; - hasOverflow: { - x: boolean; - y: boolean; - }; - contentScrollSize: { - width: number; - height: number; - }; - viewportSize: { - width: number; - height: number; - }; - hostSize: { - width: number; - height: number; - }; - } - interface Extension { - contract(global: any): boolean; - added(options?: {}): void; - removed(): void; - on(callbackName: string, callbackArgs?: UIEvent | OverflowChangedArgs | OverflowAmountChangedArgs | DirectionChangedArgs | SizeChangedArgs | UpdatedArgs): void; - } - interface ExtensionInfo { - name: string; - extensionFactory: (this: OverlayScrollbars, defaultOptions: {}, compatibility: Compatibility, framework: any) => Extension; - defaultOptions?: {}; - } - interface Globals { - defaultOptions: {}; - autoUpdateLoop: boolean; - autoUpdateRecommended: boolean; - supportMutationObserver: boolean; - supportResizeObserver: boolean; - supportPassiveEvents: boolean; - supportTransform: boolean; - supportTransition: boolean; - restrictedMeasuring: boolean; - nativeScrollbarStyling: boolean; - cssCalc: string | null; - nativeScrollbarSize: { - x: number; - y: number; - }; - nativeScrollbarIsOverlaid: { - x: boolean; - y: boolean; - }; - overlayScrollbarDummySize: { - x: number; - y: number; - }; - rtlScrollBehavior: { - i: boolean; - n: boolean; - }; - } - interface Compatibility { - wW(): number; - wH(): number; - mO(): any; - rO(): any; - rAF(): (callback: (...args: any[]) => any) => number; - cAF(): (requestID: number) => void; - now(): number; - stpP(event: Event): void; - prvD(event: Event): void; - page(event: MouseEvent): { - x: number; - y: number; - }; - mBtn(event: MouseEvent): number; - inA(item: T, array: T[]): number; - isA(obj: any): boolean; - type(obj: any): string; - bind(func: (...args: any[]) => any, thisObj: any, ...args: any[]): any; - } } -interface OverlayScrollbars { - options(): OverlayScrollbars.Options; - options(options: OverlayScrollbars.Options): void; - options(optionName: string): any; - options(optionName: string, optionValue: {} | null): void; - update(force?: boolean): void; - sleep(): void; - scroll(): OverlayScrollbars.ScrollInfo; - scroll(coordinates: OverlayScrollbars.Coordinates, duration?: number, easing?: OverlayScrollbars.Easing | { - x?: OverlayScrollbars.Easing; - y?: OverlayScrollbars.Easing; - } | [OverlayScrollbars.Easing, OverlayScrollbars.Easing], complete?: (...args: any[]) => any): void; - scroll(coordinates: OverlayScrollbars.Coordinates, options: {}): void; - scrollStop(): OverlayScrollbars; - getElements(): OverlayScrollbars.Elements; - getElements(elementName: string): any; - getState(): OverlayScrollbars.State; - getState(stateProperty: string): any; - destroy(): void; - ext(): {}; - ext(extensionName: string): OverlayScrollbars.Extension; - addExt(extensionName: string, options: {}): OverlayScrollbars.Extension; - removeExt(extensionName: string): boolean; +export interface OverflowChangedArgs { + x: boolean; + y: boolean; + xScrollable: boolean; + yScrollable: boolean; + clipped: boolean; +} +export interface OverflowAmountChangedArgs { + x: number; + y: number; +} +export interface DirectionChangedArgs { + isRTL: number; + dir: string; +} +export interface SizeChangedArgs { + width: number; + height: number; +} +export interface UpdatedArgs { + forced: boolean; } -export {}; diff --git a/resolve.config.json b/resolve.config.json new file mode 100644 index 0000000..777a95c --- /dev/null +++ b/resolve.config.json @@ -0,0 +1,4 @@ +{ + "extensions": [".json", ".js", "jsx", ".ts", ".tsx"], + "directories": ["node_modules", "src"] +} diff --git a/rollup.config.js b/rollup.config.js index 6003d16..9563d1e 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,148 +1,149 @@ -import path from "path"; -import commonjs from "@rollup/plugin-commonjs"; -import resolve from "@rollup/plugin-node-resolve"; -import typescript from "rollup-plugin-typescript2"; -import { terser } from "rollup-plugin-terser"; -import { getBabelOutputPlugin } from "@rollup/plugin-babel"; +import rollupCommonjs from '@rollup/plugin-commonjs'; +import rollupResolve from '@rollup/plugin-node-resolve'; +import rollupTypescript from 'rollup-plugin-typescript2'; +import { getBabelOutputPlugin as rollupBabelOutputPlugin } from '@rollup/plugin-babel'; +import { terser as rollupTerser } from 'rollup-plugin-terser'; +import del from 'del'; +import fs from 'fs'; +import path from 'path'; +import resolve from './resolve.config.json'; -const projectRootPath = "./packages"; -const projectSrcDirectory = "./src"; -const projectDistDirectory = "./dist"; -const projectTypesDirectory = "./types"; -const projectEntry = "index.ts"; +const projectRootPath = './packages'; -const umdTargets = { - ie: "11", +const legacyOutputBabelConfig = { + allowAllFormats: true, + presets: [ + [ + '@babel/preset-env', + { + targets: { + ie: '11', + }, + }, + ], + ], }; -const esmTargets = { - chrome: "51", - firefox: "54", - safari: "11", + +const esmOutputBabelConfig = { + presets: [ + [ + '@babel/preset-env', + { + bugfixes: true, + targets: { + esmodules: true, + }, + }, + ], + ], }; export default async (config) => { - const { - "config-project": project, - "config-src": src = projectSrcDirectory, - "config-dist": dist = projectDistDirectory, - "config-types": types = projectTypesDirectory, - "config-entry": entry = projectEntry, - } = config; + const { 'config-project': project } = config; + const defaultInputName = './src/index'; const projectPath = path.resolve(__dirname, projectRootPath, project); + const packageJSONPath = path.resolve(projectPath, 'package.json'); + const tsconfigJSONPath = path.resolve(projectPath, 'tsconfig.json'); + const buildConfigPath = path.resolve(projectPath, 'build.config.json'); + const isTypeScriptProject = fs.existsSync(tsconfigJSONPath); + + const { + input = defaultInputName + resolve.extensions.find((ext) => fs.existsSync(path.resolve(projectPath, `${defaultInputName}${ext}`))), + src = './src', + dist = './dist', + types = './types', + cache = [], + minVersions = true, + modules: { sourcemap: modulesSourceMap = true } = {}, + legacy: { sourcemap: legacySourceMap = true, exports = 'auto', name = project, globals } = {}, + } = await import(buildConfigPath); + + const { devDependencies = {}, peerDependencies = {} } = await import(packageJSONPath); + const srcPath = path.resolve(projectPath, src); const distPath = path.resolve(projectPath, dist); const typesPath = path.resolve(projectPath, types); - const entryPath = path.resolve(srcPath, entry); - - const packageJSONPath = path.resolve(projectPath, "package.json"); - const tsconfigJSONPath = path.resolve(projectPath, "tsconfig.json"); - const nodeModulesPath = path.resolve(projectPath, "node_modules"); - const buildConfigPath = path.resolve(projectPath, "build.config.json"); - - const { minVersions, umd, esm } = await import(buildConfigPath); - const { devDependencies = {}, peerDependencies = {} } = await import( - packageJSONPath - ); - - const umdOutputBabelConfig = { - allowAllFormats: true, - presets: [ - [ - "@babel/preset-env", - { - //modules: "umd", - targets: umdTargets, - exclude: ["@babel/plugin-transform-typeof-symbol"], - }, - ], - ], - /* - * for umd transforms with babel. - * problem: browser global is OverlayScrollbars.default - * - * moduleId: umd.name, - * plugins: [ - * "add-module-exports", - * [ - * "@babel/plugin-transform-modules-umd", - * { - * globals: umd.globals, - * }, - * ], - * ], - */ - }; - - const esmOutputBabelConfig = { - presets: [ - [ - "@babel/preset-env", - { - targets: esmTargets, - }, - ], - ], - }; + const inputPath = path.resolve(projectPath, input); const mainOutputArray = [ { - format: "umd", - name: umd.name, - globals: umd.globals, + format: 'iife', + name, + globals, + exports, file: path.resolve(distPath, `${project}.js`), - sourcemap: umd.sourcemap || true, - plugins: [getBabelOutputPlugin(umdOutputBabelConfig)], + sourcemap: legacySourceMap, + plugins: [rollupBabelOutputPlugin(legacyOutputBabelConfig)], }, { - format: "esm", + format: 'esm', file: path.resolve(distPath, `${project}.esm.js`), - sourcemap: esm.sourcemap || true, - plugins: [getBabelOutputPlugin(esmOutputBabelConfig)], + sourcemap: modulesSourceMap, + plugins: [rollupBabelOutputPlugin(esmOutputBabelConfig)], }, ]; return { - input: entryPath, + input: inputPath, output: mainOutputArray.concat( minVersions ? mainOutputArray.map((outputObj) => ({ ...outputObj, - file: outputObj.file.replace(".js", ".min.js"), + compact: true, + file: outputObj.file.replace('.js', '.min.js'), sourcemap: false, - plugins: [...(outputObj.plugins || []), terser()], + plugins: [ + ...(outputObj.plugins || []), + rollupTerser({ + ecma: 8, + safari10: true, + }), + ], })) - : [] + : [], ), - external: [ - ...Object.keys(devDependencies), - ...Object.keys(peerDependencies), - ], + external: [...Object.keys(devDependencies), ...Object.keys(peerDependencies)], plugins: [ - resolve({ - extensions: [".ts", ".tsx", ".js", "jsx"], + { + name: 'del', + options() { + const deletedDirs = del.sync([distPath, typesPath]); + if (deletedDirs.length > 0) { + console.log('Deleted directories:\n', deletedDirs.join('\n')); + } + }, + writeBundle() { + const cacheDirs = cache.map((dir) => path.resolve(projectPath, dir)); + const deletedDirs = del.sync(cacheDirs); + if (deletedDirs.length > 0) { + console.log('Deleted cache:\n', deletedDirs.join('\n')); + } + }, + }, + rollupResolve({ + extensions: resolve.extensions, + rootDir: srcPath, customResolveOptions: { - moduleDirectory: [ - srcPath, - nodeModulesPath, - path.resolve(__dirname, "node_modules"), - ], - }, - }), - commonjs(), - typescript({ - check: true, - useTsconfigDeclarationDir: true, - tsconfig: tsconfigJSONPath, - tsconfigOverride: { - compilerOptions: { - target: "es6", - sourceMap: true, - declaration: true, - declarationDir: typesPath, - }, + moduleDirectory: [...resolve.directories.map((dir) => path.resolve(projectPath, dir)), path.resolve(__dirname, 'node_modules')], }, }), + rollupCommonjs(), + isTypeScriptProject + ? rollupTypescript({ + check: true, + useTsconfigDeclarationDir: true, + tsconfig: tsconfigJSONPath, + tsconfigOverride: { + compilerOptions: { + target: 'ESNext', + sourceMap: true, + declaration: true, + declarationDir: typesPath, + }, + }, + }) + : {}, ], }; }; diff --git a/tsconfig.base.json b/tsconfig.base.json new file mode 100644 index 0000000..5ccdda6 --- /dev/null +++ b/tsconfig.base.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "strict": true, + "allowJs": false, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "target": "ESNext", + "sourceMap": true, + "jsx": "react", + "declaration": true, + "suppressImplicitAnyIndexErrors": true, + "module": "ESNext", + "moduleResolution": "node", + "removeComments": true + }, + "exclude": ["tests", "**/tests/*", "node_modules", "**/node_modules/*"] +}