diff --git a/.gitattributes b/.gitattributes index 8909f175a0..f212967ada 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ cassettes/* linguist-generated=true -factory_data/* linguist-generated=true \ No newline at end of file +factory_data/* linguist-generated=true +flow-typed/* linguist-generated=true diff --git a/flow-typed/npm/@material/base_vx.x.x.js b/flow-typed/npm/@material/base_vx.x.x.js index 0b0e039843..a377ba7f05 100644 --- a/flow-typed/npm/@material/base_vx.x.x.js +++ b/flow-typed/npm/@material/base_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 77511a5c973b2594be42d0c76f7a8061 -// flow-typed version: <>/@material/base_v^0.2.3/flow_v0.59.0 +// flow-typed signature: 62624ae069e2d3465867ccf4f3b2d7b2 +// flow-typed version: <>/@material/base_v^0.2.3/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/@material/button_vx.x.x.js b/flow-typed/npm/@material/button_vx.x.x.js index 0cae1876bd..9e3781ebbf 100644 --- a/flow-typed/npm/@material/button_vx.x.x.js +++ b/flow-typed/npm/@material/button_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 20055dcfb74f15ce3062247ca804bd19 -// flow-typed version: <>/@material/button_v^0.3.11/flow_v0.59.0 +// flow-typed signature: ce0a80f82ccf8dfbb7828d015a694632 +// flow-typed version: <>/@material/button_v^0.3.11/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/@material/dialog_vx.x.x.js b/flow-typed/npm/@material/dialog_vx.x.x.js new file mode 100644 index 0000000000..299f3f3c19 --- /dev/null +++ b/flow-typed/npm/@material/dialog_vx.x.x.js @@ -0,0 +1,66 @@ +// flow-typed signature: 4871cd32c0c2e90551835958df15068c +// flow-typed version: <>/@material/dialog_v^0.27.0/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * '@material/dialog' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module '@material/dialog' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module '@material/dialog/constants' { + declare module.exports: any; +} + +declare module '@material/dialog/dist/mdc.dialog' { + declare module.exports: any; +} + +declare module '@material/dialog/dist/mdc.dialog.min' { + declare module.exports: any; +} + +declare module '@material/dialog/foundation' { + declare module.exports: any; +} + +declare module '@material/dialog/util' { + declare module.exports: any; +} + +// Filename aliases +declare module '@material/dialog/constants.js' { + declare module.exports: $Exports<'@material/dialog/constants'>; +} +declare module '@material/dialog/dist/mdc.dialog.js' { + declare module.exports: $Exports<'@material/dialog/dist/mdc.dialog'>; +} +declare module '@material/dialog/dist/mdc.dialog.min.js' { + declare module.exports: $Exports<'@material/dialog/dist/mdc.dialog.min'>; +} +declare module '@material/dialog/foundation.js' { + declare module.exports: $Exports<'@material/dialog/foundation'>; +} +declare module '@material/dialog/index' { + declare module.exports: $Exports<'@material/dialog'>; +} +declare module '@material/dialog/index.js' { + declare module.exports: $Exports<'@material/dialog'>; +} +declare module '@material/dialog/util.js' { + declare module.exports: $Exports<'@material/dialog/util'>; +} diff --git a/flow-typed/npm/@material/drawer_vx.x.x.js b/flow-typed/npm/@material/drawer_vx.x.x.js index f59f144e2e..96b9c1b082 100644 --- a/flow-typed/npm/@material/drawer_vx.x.x.js +++ b/flow-typed/npm/@material/drawer_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: b1c06be20e244748adf091a9502c38e3 -// flow-typed version: <>/@material/drawer_v^0.5.4/flow_v0.59.0 +// flow-typed signature: 1acf3f01e37e1d20c023532ed09cde93 +// flow-typed version: <>/@material/drawer_v^0.36.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/@material/list_vx.x.x.js b/flow-typed/npm/@material/list_vx.x.x.js index 610a0e22a1..f6e70386ef 100644 --- a/flow-typed/npm/@material/list_vx.x.x.js +++ b/flow-typed/npm/@material/list_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 3ea3c4fc087d7d70dc81a41e40359086 -// flow-typed version: <>/@material/list_v^0.2.14/flow_v0.59.0 +// flow-typed signature: f0f7757064f9b57f368de815c1ec114e +// flow-typed version: <>/@material/list_v^0.2.14/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/@material/menu_vx.x.x.js b/flow-typed/npm/@material/menu_vx.x.x.js index 4cabceff9e..2dbd045184 100644 --- a/flow-typed/npm/@material/menu_vx.x.x.js +++ b/flow-typed/npm/@material/menu_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: a3e37c97cc7e47c2a0717ac9bf2ae372 -// flow-typed version: <>/@material/menu_v^0.4.3/flow_v0.59.0 +// flow-typed signature: 142ef1ef152dfbe4c07271a04653928e +// flow-typed version: <>/@material/menu_v^0.4.3/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/@material/radio_vx.x.x.js b/flow-typed/npm/@material/radio_vx.x.x.js new file mode 100644 index 0000000000..4fff79ebc2 --- /dev/null +++ b/flow-typed/npm/@material/radio_vx.x.x.js @@ -0,0 +1,66 @@ +// flow-typed signature: c0415ae8a597a137627525d9fd39add9 +// flow-typed version: <>/@material/radio_v^0.30.0/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * '@material/radio' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module '@material/radio' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module '@material/radio/adapter' { + declare module.exports: any; +} + +declare module '@material/radio/constants' { + declare module.exports: any; +} + +declare module '@material/radio/dist/mdc.radio' { + declare module.exports: any; +} + +declare module '@material/radio/dist/mdc.radio.min' { + declare module.exports: any; +} + +declare module '@material/radio/foundation' { + declare module.exports: any; +} + +// Filename aliases +declare module '@material/radio/adapter.js' { + declare module.exports: $Exports<'@material/radio/adapter'>; +} +declare module '@material/radio/constants.js' { + declare module.exports: $Exports<'@material/radio/constants'>; +} +declare module '@material/radio/dist/mdc.radio.js' { + declare module.exports: $Exports<'@material/radio/dist/mdc.radio'>; +} +declare module '@material/radio/dist/mdc.radio.min.js' { + declare module.exports: $Exports<'@material/radio/dist/mdc.radio.min'>; +} +declare module '@material/radio/foundation.js' { + declare module.exports: $Exports<'@material/radio/foundation'>; +} +declare module '@material/radio/index' { + declare module.exports: $Exports<'@material/radio'>; +} +declare module '@material/radio/index.js' { + declare module.exports: $Exports<'@material/radio'>; +} diff --git a/flow-typed/npm/@material/rtl_vx.x.x.js b/flow-typed/npm/@material/rtl_vx.x.x.js index 957d6299f2..d7ec684c87 100644 --- a/flow-typed/npm/@material/rtl_vx.x.x.js +++ b/flow-typed/npm/@material/rtl_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: e2cc29a99edb44ce6a90e664b5167810 -// flow-typed version: <>/@material/rtl_v^0.1.7/flow_v0.59.0 +// flow-typed signature: bb17aa3ad859297e9c5e49d8ffab730b +// flow-typed version: <>/@material/rtl_v^0.1.7/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/@material/snackbar_vx.x.x.js b/flow-typed/npm/@material/snackbar_vx.x.x.js new file mode 100644 index 0000000000..79fe00086f --- /dev/null +++ b/flow-typed/npm/@material/snackbar_vx.x.x.js @@ -0,0 +1,59 @@ +// flow-typed signature: 5c7b5c289bfb15fddd7f4608000c6706 +// flow-typed version: <>/@material/snackbar_v^0.25.0/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * '@material/snackbar' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module '@material/snackbar' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module '@material/snackbar/constants' { + declare module.exports: any; +} + +declare module '@material/snackbar/dist/mdc.snackbar' { + declare module.exports: any; +} + +declare module '@material/snackbar/dist/mdc.snackbar.min' { + declare module.exports: any; +} + +declare module '@material/snackbar/foundation' { + declare module.exports: any; +} + +// Filename aliases +declare module '@material/snackbar/constants.js' { + declare module.exports: $Exports<'@material/snackbar/constants'>; +} +declare module '@material/snackbar/dist/mdc.snackbar.js' { + declare module.exports: $Exports<'@material/snackbar/dist/mdc.snackbar'>; +} +declare module '@material/snackbar/dist/mdc.snackbar.min.js' { + declare module.exports: $Exports<'@material/snackbar/dist/mdc.snackbar.min'>; +} +declare module '@material/snackbar/foundation.js' { + declare module.exports: $Exports<'@material/snackbar/foundation'>; +} +declare module '@material/snackbar/index' { + declare module.exports: $Exports<'@material/snackbar'>; +} +declare module '@material/snackbar/index.js' { + declare module.exports: $Exports<'@material/snackbar'>; +} diff --git a/flow-typed/npm/@material/toolbar_vx.x.x.js b/flow-typed/npm/@material/toolbar_vx.x.x.js index 97101e598e..917810bc5c 100644 --- a/flow-typed/npm/@material/toolbar_vx.x.x.js +++ b/flow-typed/npm/@material/toolbar_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 9e59d428f9bb49e9890b01f47557aa8a -// flow-typed version: <>/@material/toolbar_v^0.4.4/flow_v0.59.0 +// flow-typed signature: f0fdabfbf701116c9aa3c6bbba8a8d6c +// flow-typed version: <>/@material/toolbar_v^0.4.4/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/@mitodl/mdl-react-components_vx.x.x.js b/flow-typed/npm/@mitodl/mdl-react-components_vx.x.x.js new file mode 100644 index 0000000000..d850e1ec21 --- /dev/null +++ b/flow-typed/npm/@mitodl/mdl-react-components_vx.x.x.js @@ -0,0 +1,53 @@ +// flow-typed signature: b0f5f9c76216a09edbaec89bb6eef04a +// flow-typed version: <>/@mitodl/mdl-react-components_v^0.0.3/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * '@mitodl/mdl-react-components' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module '@mitodl/mdl-react-components' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module '@mitodl/mdl-react-components/lib/Button' { + declare module.exports: any; +} + +declare module '@mitodl/mdl-react-components/lib/Dialog' { + declare module.exports: any; +} + +declare module '@mitodl/mdl-react-components/lib/index' { + declare module.exports: any; +} + +declare module '@mitodl/mdl-react-components/lib/Radio' { + declare module.exports: any; +} + +// Filename aliases +declare module '@mitodl/mdl-react-components/lib/Button.js' { + declare module.exports: $Exports<'@mitodl/mdl-react-components/lib/Button'>; +} +declare module '@mitodl/mdl-react-components/lib/Dialog.js' { + declare module.exports: $Exports<'@mitodl/mdl-react-components/lib/Dialog'>; +} +declare module '@mitodl/mdl-react-components/lib/index.js' { + declare module.exports: $Exports<'@mitodl/mdl-react-components/lib/index'>; +} +declare module '@mitodl/mdl-react-components/lib/Radio.js' { + declare module.exports: $Exports<'@mitodl/mdl-react-components/lib/Radio'>; +} diff --git a/flow-typed/npm/autoprefixer_vx.x.x.js b/flow-typed/npm/autoprefixer_vx.x.x.js index d6cdc02689..d622107d32 100644 --- a/flow-typed/npm/autoprefixer_vx.x.x.js +++ b/flow-typed/npm/autoprefixer_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: a2301045925a5f8dfe9121490a758534 -// flow-typed version: <>/autoprefixer_v^7.1.2/flow_v0.59.0 +// flow-typed signature: 2368610986557f92a38de8d3fb70cb8d +// flow-typed version: <>/autoprefixer_v^7.1.2/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-core_vx.x.x.js b/flow-typed/npm/babel-core_vx.x.x.js index a78e9ced58..7beed4962a 100644 --- a/flow-typed/npm/babel-core_vx.x.x.js +++ b/flow-typed/npm/babel-core_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: a612445ca8786466575cda8b2f6559b4 -// flow-typed version: <>/babel-core_v^6.25.0/flow_v0.59.0 +// flow-typed signature: b25ec13502d8934cf564013cb36276e2 +// flow-typed version: <>/babel-core_v^6.25.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-eslint_vx.x.x.js b/flow-typed/npm/babel-eslint_vx.x.x.js index f69fdcc119..091cbda74b 100644 --- a/flow-typed/npm/babel-eslint_vx.x.x.js +++ b/flow-typed/npm/babel-eslint_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 3a43f417025990ff9e08cabfcc41813a -// flow-typed version: <>/babel-eslint_v^7.2.3/flow_v0.59.0 +// flow-typed signature: a3eb0ebc8bc7ac9a4fc5bdafd7a55c02 +// flow-typed version: <>/babel-eslint_v^8.2.3/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -22,59 +22,102 @@ declare module 'babel-eslint' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'babel-eslint/babylon-to-espree/attachComments' { +declare module 'babel-eslint/lib/analyze-scope' { declare module.exports: any; } -declare module 'babel-eslint/babylon-to-espree/convertComments' { +declare module 'babel-eslint/lib/babylon-to-espree/attachComments' { declare module.exports: any; } -declare module 'babel-eslint/babylon-to-espree/convertTemplateType' { +declare module 'babel-eslint/lib/babylon-to-espree/convertComments' { declare module.exports: any; } -declare module 'babel-eslint/babylon-to-espree/index' { +declare module 'babel-eslint/lib/babylon-to-espree/convertTemplateType' { declare module.exports: any; } -declare module 'babel-eslint/babylon-to-espree/toAST' { +declare module 'babel-eslint/lib/babylon-to-espree/index' { declare module.exports: any; } -declare module 'babel-eslint/babylon-to-espree/toToken' { +declare module 'babel-eslint/lib/babylon-to-espree/toAST' { declare module.exports: any; } -declare module 'babel-eslint/babylon-to-espree/toTokens' { +declare module 'babel-eslint/lib/babylon-to-espree/toToken' { + declare module.exports: any; +} + +declare module 'babel-eslint/lib/babylon-to-espree/toTokens' { + declare module.exports: any; +} + +declare module 'babel-eslint/lib/index' { + declare module.exports: any; +} + +declare module 'babel-eslint/lib/parse-with-patch' { + declare module.exports: any; +} + +declare module 'babel-eslint/lib/parse-with-scope' { + declare module.exports: any; +} + +declare module 'babel-eslint/lib/parse' { + declare module.exports: any; +} + +declare module 'babel-eslint/lib/patch-eslint-scope' { + declare module.exports: any; +} + +declare module 'babel-eslint/lib/visitor-keys' { declare module.exports: any; } // Filename aliases -declare module 'babel-eslint/babylon-to-espree/attachComments.js' { - declare module.exports: $Exports<'babel-eslint/babylon-to-espree/attachComments'>; +declare module 'babel-eslint/lib/analyze-scope.js' { + declare module.exports: $Exports<'babel-eslint/lib/analyze-scope'>; +} +declare module 'babel-eslint/lib/babylon-to-espree/attachComments.js' { + declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/attachComments'>; +} +declare module 'babel-eslint/lib/babylon-to-espree/convertComments.js' { + declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/convertComments'>; +} +declare module 'babel-eslint/lib/babylon-to-espree/convertTemplateType.js' { + declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/convertTemplateType'>; +} +declare module 'babel-eslint/lib/babylon-to-espree/index.js' { + declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/index'>; +} +declare module 'babel-eslint/lib/babylon-to-espree/toAST.js' { + declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/toAST'>; } -declare module 'babel-eslint/babylon-to-espree/convertComments.js' { - declare module.exports: $Exports<'babel-eslint/babylon-to-espree/convertComments'>; +declare module 'babel-eslint/lib/babylon-to-espree/toToken.js' { + declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/toToken'>; } -declare module 'babel-eslint/babylon-to-espree/convertTemplateType.js' { - declare module.exports: $Exports<'babel-eslint/babylon-to-espree/convertTemplateType'>; +declare module 'babel-eslint/lib/babylon-to-espree/toTokens.js' { + declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/toTokens'>; } -declare module 'babel-eslint/babylon-to-espree/index.js' { - declare module.exports: $Exports<'babel-eslint/babylon-to-espree/index'>; +declare module 'babel-eslint/lib/index.js' { + declare module.exports: $Exports<'babel-eslint/lib/index'>; } -declare module 'babel-eslint/babylon-to-espree/toAST.js' { - declare module.exports: $Exports<'babel-eslint/babylon-to-espree/toAST'>; +declare module 'babel-eslint/lib/parse-with-patch.js' { + declare module.exports: $Exports<'babel-eslint/lib/parse-with-patch'>; } -declare module 'babel-eslint/babylon-to-espree/toToken.js' { - declare module.exports: $Exports<'babel-eslint/babylon-to-espree/toToken'>; +declare module 'babel-eslint/lib/parse-with-scope.js' { + declare module.exports: $Exports<'babel-eslint/lib/parse-with-scope'>; } -declare module 'babel-eslint/babylon-to-espree/toTokens.js' { - declare module.exports: $Exports<'babel-eslint/babylon-to-espree/toTokens'>; +declare module 'babel-eslint/lib/parse.js' { + declare module.exports: $Exports<'babel-eslint/lib/parse'>; } -declare module 'babel-eslint/index' { - declare module.exports: $Exports<'babel-eslint'>; +declare module 'babel-eslint/lib/patch-eslint-scope.js' { + declare module.exports: $Exports<'babel-eslint/lib/patch-eslint-scope'>; } -declare module 'babel-eslint/index.js' { - declare module.exports: $Exports<'babel-eslint'>; +declare module 'babel-eslint/lib/visitor-keys.js' { + declare module.exports: $Exports<'babel-eslint/lib/visitor-keys'>; } diff --git a/flow-typed/npm/babel-loader_vx.x.x.js b/flow-typed/npm/babel-loader_vx.x.x.js index d436d6586c..ad47f0ce33 100644 --- a/flow-typed/npm/babel-loader_vx.x.x.js +++ b/flow-typed/npm/babel-loader_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 91367363dc669e1886874f6f0884fb97 -// flow-typed version: <>/babel-loader_v^7.1.1/flow_v0.59.0 +// flow-typed signature: 2504c403cf8cc8c6cf0420a8a7dc4abb +// flow-typed version: <>/babel-loader_v^7.1.2/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-plugin-istanbul_vx.x.x.js b/flow-typed/npm/babel-plugin-istanbul_vx.x.x.js index b132ff2a27..247aa4713f 100644 --- a/flow-typed/npm/babel-plugin-istanbul_vx.x.x.js +++ b/flow-typed/npm/babel-plugin-istanbul_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: d6517244828af8fd94ce2ee7c5b08319 -// flow-typed version: <>/babel-plugin-istanbul_v^4.1.4/flow_v0.59.0 +// flow-typed signature: 549ab80dfa53206ff4bb19e7b619708a +// flow-typed version: <>/babel-plugin-istanbul_v^4.1.5/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-plugin-jsx_vx.x.x.js b/flow-typed/npm/babel-plugin-jsx_vx.x.x.js index ba48dafb29..4dc0191578 100644 --- a/flow-typed/npm/babel-plugin-jsx_vx.x.x.js +++ b/flow-typed/npm/babel-plugin-jsx_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 77d47c4dbb854dff8d54c811c8bf7cdf -// flow-typed version: <>/babel-plugin-jsx_v^1.2.0/flow_v0.59.0 +// flow-typed signature: 61172545648e0b827345db236f81d0ae +// flow-typed version: <>/babel-plugin-jsx_v^1.2.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-plugin-syntax-dynamic-import_vx.x.x.js b/flow-typed/npm/babel-plugin-syntax-dynamic-import_vx.x.x.js index fee4a65384..9cf8441896 100644 --- a/flow-typed/npm/babel-plugin-syntax-dynamic-import_vx.x.x.js +++ b/flow-typed/npm/babel-plugin-syntax-dynamic-import_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 56f1712cc864c566e911a5bc2efd2b80 -// flow-typed version: <>/babel-plugin-syntax-dynamic-import_v^6.18.0/flow_v0.59.0 +// flow-typed signature: cc6bb8498b46f13bd584e2962d856e3e +// flow-typed version: <>/babel-plugin-syntax-dynamic-import_v^6.18.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-plugin-transform-class-properties_vx.x.x.js b/flow-typed/npm/babel-plugin-transform-class-properties_vx.x.x.js index 101663add1..0e29beda1c 100644 --- a/flow-typed/npm/babel-plugin-transform-class-properties_vx.x.x.js +++ b/flow-typed/npm/babel-plugin-transform-class-properties_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 8a6fceab61e18a10e5406c31f3a7a45f -// flow-typed version: <>/babel-plugin-transform-class-properties_v^6.24.1/flow_v0.59.0 +// flow-typed signature: 7d85d517ec0202cd502140a164af1f43 +// flow-typed version: <>/babel-plugin-transform-class-properties_v^6.24.1/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x.js b/flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x.js index 6953cc8cca..9c859ecb39 100644 --- a/flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x.js +++ b/flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: f7cebfb65ddcf754135cb0fb28662087 -// flow-typed version: <>/babel-plugin-transform-flow-strip-types_v^6.22.0/flow_v0.59.0 +// flow-typed signature: 79d5bb8dbf51d15b96ef8b6fa9c38aff +// flow-typed version: <>/babel-plugin-transform-flow-strip-types_v^6.22.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-plugin-transform-object-rest-spread_vx.x.x.js b/flow-typed/npm/babel-plugin-transform-object-rest-spread_vx.x.x.js index b32fb8ef4e..a8934f7524 100644 --- a/flow-typed/npm/babel-plugin-transform-object-rest-spread_vx.x.x.js +++ b/flow-typed/npm/babel-plugin-transform-object-rest-spread_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: d8f0775304bf3f0a4cdc14ea7e7a0f61 -// flow-typed version: <>/babel-plugin-transform-object-rest-spread_v^6.23.0/flow_v0.59.0 +// flow-typed signature: 656847697e47b2418df2caa085bc3248 +// flow-typed version: <>/babel-plugin-transform-object-rest-spread_v^6.23.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-plugin-transform-react-constant-elements_vx.x.x.js b/flow-typed/npm/babel-plugin-transform-react-constant-elements_vx.x.x.js index 0966489d93..d65826d321 100644 --- a/flow-typed/npm/babel-plugin-transform-react-constant-elements_vx.x.x.js +++ b/flow-typed/npm/babel-plugin-transform-react-constant-elements_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: eea39303689561599af487eb4fd77bee -// flow-typed version: <>/babel-plugin-transform-react-constant-elements_v^6.23.0/flow_v0.59.0 +// flow-typed signature: e4010869a224641c088a3012ef800e93 +// flow-typed version: <>/babel-plugin-transform-react-constant-elements_v^6.23.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-plugin-transform-react-inline-elements_vx.x.x.js b/flow-typed/npm/babel-plugin-transform-react-inline-elements_vx.x.x.js index eeebb35a59..a66e9e4110 100644 --- a/flow-typed/npm/babel-plugin-transform-react-inline-elements_vx.x.x.js +++ b/flow-typed/npm/babel-plugin-transform-react-inline-elements_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 340b42a4bf7ccd1e773d5df1aa9f2231 -// flow-typed version: <>/babel-plugin-transform-react-inline-elements_v^6.22.0/flow_v0.59.0 +// flow-typed signature: 5eb39694ba54220aeb8f488815dee404 +// flow-typed version: <>/babel-plugin-transform-react-inline-elements_v^6.22.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-plugin-transform-react-jsx_vx.x.x.js b/flow-typed/npm/babel-plugin-transform-react-jsx_vx.x.x.js index 0195db3ed3..c75085a0b6 100644 --- a/flow-typed/npm/babel-plugin-transform-react-jsx_vx.x.x.js +++ b/flow-typed/npm/babel-plugin-transform-react-jsx_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 89e2c3d2aaffd4d73ffe70e9a17d993b -// flow-typed version: <>/babel-plugin-transform-react-jsx_v^6.24.1/flow_v0.59.0 +// flow-typed signature: 4a9f2d8d0ca059b01ff1e2c44e293afc +// flow-typed version: <>/babel-plugin-transform-react-jsx_v^6.24.1/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-polyfill_vx.x.x.js b/flow-typed/npm/babel-polyfill_vx.x.x.js index f2743b114e..959707b387 100644 --- a/flow-typed/npm/babel-polyfill_vx.x.x.js +++ b/flow-typed/npm/babel-polyfill_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: cb7010531986ad0dd97a0c53dc326089 -// flow-typed version: <>/babel-polyfill_v^6.23.0/flow_v0.59.0 +// flow-typed signature: 86ba67d412e8354bb71a9b106051ead9 +// flow-typed version: <>/babel-polyfill_v^6.23.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-preset-env_vx.x.x.js b/flow-typed/npm/babel-preset-env_vx.x.x.js index c6acb6aa24..531295d6fc 100644 --- a/flow-typed/npm/babel-preset-env_vx.x.x.js +++ b/flow-typed/npm/babel-preset-env_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: ddb2e5c1e4761dd9d3e4b6ac6394439e -// flow-typed version: <>/babel-preset-env_v^1.6.0/flow_v0.59.0 +// flow-typed signature: e2f8606ee51b189a2c391aefdb6dc543 +// flow-typed version: <>/babel-preset-env_v^1.6.1/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-preset-react_vx.x.x.js b/flow-typed/npm/babel-preset-react_vx.x.x.js index ee7020b0ff..c471dbf3d8 100644 --- a/flow-typed/npm/babel-preset-react_vx.x.x.js +++ b/flow-typed/npm/babel-preset-react_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 13eab33b15abeaf8701570e19b59e693 -// flow-typed version: <>/babel-preset-react_v^6.24.1/flow_v0.59.0 +// flow-typed signature: 1ea8ce9cb4295e55dd9d6a81849a8f19 +// flow-typed version: <>/babel-preset-react_v^6.24.1/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/babel-register_vx.x.x.js b/flow-typed/npm/babel-register_vx.x.x.js index b13a1d50dd..ae42b9a8c7 100644 --- a/flow-typed/npm/babel-register_vx.x.x.js +++ b/flow-typed/npm/babel-register_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: e5e35f5f9031b742783302c75943f6b5 -// flow-typed version: <>/babel-register_v^6.24.1/flow_v0.59.0 +// flow-typed signature: a9ca45f5616a6b55e2bd0e1f1e14c825 +// flow-typed version: <>/babel-register_v^6.26.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/casual-browserify_vx.x.x.js b/flow-typed/npm/casual-browserify_vx.x.x.js index 7085a9130b..6d8d128bbb 100644 --- a/flow-typed/npm/casual-browserify_vx.x.x.js +++ b/flow-typed/npm/casual-browserify_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 496c95591c45c46a9c718ff222087409 -// flow-typed version: <>/casual-browserify_v^1.5.12/flow_v0.59.0 +// flow-typed signature: faf297bd4a0542fe2bdd1fc2f974b405 +// flow-typed version: <>/casual-browserify_v^1.5.12/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/chai-as-promised_vx.x.x.js b/flow-typed/npm/chai-as-promised_vx.x.x.js index cbf8b7bfcc..96a3e82229 100644 --- a/flow-typed/npm/chai-as-promised_vx.x.x.js +++ b/flow-typed/npm/chai-as-promised_vx.x.x.js @@ -1,4 +1,32 @@ -// manually edited -declare class assert { - static isRejected(Promise<*>): void; +// flow-typed signature: 000520b927c06465bf38b084dd4e538d +// flow-typed version: <>/chai-as-promised_v^7.1.1/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'chai-as-promised' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'chai-as-promised' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'chai-as-promised/lib/chai-as-promised' { + declare module.exports: any; +} + +// Filename aliases +declare module 'chai-as-promised/lib/chai-as-promised.js' { + declare module.exports: $Exports<'chai-as-promised/lib/chai-as-promised'>; } diff --git a/flow-typed/npm/chai_v4.x.x.js b/flow-typed/npm/chai_v4.x.x.js index 79e1737492..930fedb377 100644 --- a/flow-typed/npm/chai_v4.x.x.js +++ b/flow-typed/npm/chai_v4.x.x.js @@ -1,7 +1,5 @@ -// manually edited by george to add some missing functions - -// flow-typed signature: 88d2313c965c71ea202a84ce638ce5b1 -// flow-typed version: cfc9aef80e/chai_v4.x.x/flow_>=v0.15.0 +// flow-typed signature: e3d42118a34a627d9c121880be7d1a52 +// flow-typed version: 120d43bb08/chai_v4.x.x/flow_>=v0.25.0 declare module "chai" { declare type ExpectChain = { @@ -24,37 +22,42 @@ declare module "chai" { any: ExpectChain, all: ExpectChain, - a: ExpectChain & ((type: string) => ExpectChain), - an: ExpectChain & ((type: string) => ExpectChain), - - include: ExpectChain & ((value: mixed) => ExpectChain), - includes: ExpectChain & ((value: mixed) => ExpectChain), - contain: ExpectChain & ((value: mixed) => ExpectChain), - contains: ExpectChain & ((value: mixed) => ExpectChain), - - eq: (value: T) => ExpectChain, - eql: (value: T) => ExpectChain, - equal: (value: T) => ExpectChain, - equals: (value: T) => ExpectChain, - - above: (value: T & number) => ExpectChain, - least: (value: T & number) => ExpectChain, - below: (value: T & number) => ExpectChain, - most: (value: T & number) => ExpectChain, - within: (start: T & number, finish: T & number) => ExpectChain, - - instanceof: (constructor: mixed) => ExpectChain, + a: ExpectChain & ((type: string, message?: string) => ExpectChain), + an: ExpectChain & ((type: string, message?: string) => ExpectChain), + + include: ExpectChain & ((value: mixed, message?: string) => ExpectChain), + includes: ExpectChain & ((value: mixed, message?: string) => ExpectChain), + contain: ExpectChain & ((value: mixed, message?: string) => ExpectChain), + contains: ExpectChain & ((value: mixed, message?: string) => ExpectChain), + + eq: (value: T, message?: string) => ExpectChain, + eql: (value: T, message?: string) => ExpectChain, + equal: (value: T, message?: string) => ExpectChain, + equals: (value: T, message?: string) => ExpectChain, + + above: (value: T & number, message?: string) => ExpectChain, + gt: (value: T & number, message?: string) => ExpectChain, + greaterThan: (value: T & number, message?: string) => ExpectChain, + least: (value: T & number, message?: string) => ExpectChain, + below: (value: T & number, message?: string) => ExpectChain, + lessThan: (value: T & number, message?: string) => ExpectChain, + lt: (value: T & number, message?: string) => ExpectChain, + most: (value: T & number, message?: string) => ExpectChain, + within: (start: T & number, finish: T & number, message?: string) => ExpectChain, + + instanceof: (constructor: mixed, message?: string) => ExpectChain, nested: ExpectChain, property:

( name: string, - value?: P + value?: P, + message?: string ) => ExpectChain

& ((name: string) => ExpectChain), - length: (value: number) => ExpectChain | ExpectChain, - lengthOf: (value: number) => ExpectChain, + length: (value: number, message?: string) => ExpectChain | ExpectChain, + lengthOf: (value: number, message?: string) => ExpectChain, - match: (regex: RegExp) => ExpectChain, - string: (string: string) => ExpectChain, + match: (regex: RegExp, message?: string) => ExpectChain, + string: (string: string, message?: string) => ExpectChain, key: (key: string) => ExpectChain, keys: ( @@ -68,19 +71,21 @@ declare module "chai" { msg?: string ) => ExpectChain, - respondTo: (method: string) => ExpectChain, + respondTo: (method: string, message?: string) => ExpectChain, itself: ExpectChain, - satisfy: (method: (value: T) => boolean) => ExpectChain, + satisfy: (method: (value: T) => boolean, message?: string) => ExpectChain, + + closeTo: (expected: T & number, delta: number, message?: string) => ExpectChain, - closeTo: (expected: T & number, delta: number) => ExpectChain, + members: (set: mixed, message?: string) => ExpectChain, + oneOf: (list: Array, message?: string) => ExpectChain, - members: (set: mixed) => ExpectChain, - oneOf: (list: Array) => ExpectChain, + change: (obj: mixed, key: string, message?: string) => ExpectChain, + increase: (obj: mixed, key: string, message?: string) => ExpectChain, + decrease: (obj: mixed, key: string, message?: string) => ExpectChain, - change: (obj: mixed, key: string) => ExpectChain, - increase: (obj: mixed, key: string) => ExpectChain, - decrease: (obj: mixed, key: string) => ExpectChain, + by: (delta: number, message?: string) => ExpectChain, // dirty-chai ok: () => ExpectChain, @@ -134,7 +139,12 @@ declare module "chai" { data: (key: string, val?: any) => ExpectChain, prop: (key: string, val?: any) => ExpectChain, state: (key: string, val?: any) => ExpectChain, - value: (val: string) => ExpectChain + value: (val: string) => ExpectChain, + className: (val: string) => ExpectChain, + text: (val: string) => ExpectChain, + + // chai-karma-snapshot + matchSnapshot: (lang?: any, update?: boolean, msg?: any) => ExpectChain }; declare function expect(actual: T, message?: string): ExpectChain; @@ -153,6 +163,13 @@ declare module "chai" { static isOk(object: mixed, message?: string): void; static isNotOk(object: mixed, message?: string): void; + static empty(object: mixed, message?: string): void; + static isEmpty(object: mixed, message?: string): void; + static notEmpty(object: mixed, message?: string): void; + static isNotEmpty(object: mixed, message?: string): void; + static isRejected(Promise<*>): void; + static deepInclude(haystack: mixed, needle: mixed, msg?: string): void; + static equal(actual: mixed, expected: mixed, message?: string): void; static notEqual(actual: mixed, expected: mixed, message?: string): void; @@ -277,12 +294,6 @@ declare module "chai" { // chai-immutable static sizeOf(val: mixed, length: number): void; - - // the below ones were manually added - static isEmpty(val: mixed, msg?: string): void; - static isNotEmpty(val: mixed, msg?: string): void; - static deepInclude(haystack: mixed, needle: mixed, msg?: string): void; - static isRejected(Promise<*>): void; } declare var config: { diff --git a/flow-typed/npm/codecov_vx.x.x.js b/flow-typed/npm/codecov_vx.x.x.js index 1ea3b581ac..850668b151 100644 --- a/flow-typed/npm/codecov_vx.x.x.js +++ b/flow-typed/npm/codecov_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: aa1dd098f801c2f2b72a4cd9624d30ad -// flow-typed version: <>/codecov_v^2.2.0/flow_v0.59.0 +// flow-typed signature: 64d3c45bbcc2398c89f9321dc0145baa +// flow-typed version: <>/codecov_v^2.2.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/css-loader_vx.x.x.js b/flow-typed/npm/css-loader_vx.x.x.js index 02e4d41c46..2449f8e9ed 100644 --- a/flow-typed/npm/css-loader_vx.x.x.js +++ b/flow-typed/npm/css-loader_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 8d328f184c312b543f43ceb0854744d7 -// flow-typed version: <>/css-loader_v^0.28.4/flow_v0.59.0 +// flow-typed signature: 849659315d5454b5dd9b305059e80b6c +// flow-typed version: <>/css-loader_v^0.28.4/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/detect-browser_vx.x.x.js b/flow-typed/npm/detect-browser_vx.x.x.js new file mode 100644 index 0000000000..eda5e52df5 --- /dev/null +++ b/flow-typed/npm/detect-browser_vx.x.x.js @@ -0,0 +1,33 @@ +// flow-typed signature: 9e6fb6df073bc71c9e012fd16adc2997 +// flow-typed version: <>/detect-browser_v^2.5.1/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'detect-browser' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'detect-browser' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ + + +// Filename aliases +declare module 'detect-browser/index' { + declare module.exports: $Exports<'detect-browser'>; +} +declare module 'detect-browser/index.js' { + declare module.exports: $Exports<'detect-browser'>; +} diff --git a/flow-typed/npm/enzyme-adapter-react-16_vx.x.x.js b/flow-typed/npm/enzyme-adapter-react-16_vx.x.x.js new file mode 100644 index 0000000000..27eebd6f15 --- /dev/null +++ b/flow-typed/npm/enzyme-adapter-react-16_vx.x.x.js @@ -0,0 +1,53 @@ +// flow-typed signature: 399655adcf14b708f2aa0c89c0628d78 +// flow-typed version: <>/enzyme-adapter-react-16_v^1.1.1/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'enzyme-adapter-react-16' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'enzyme-adapter-react-16' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'enzyme-adapter-react-16/build/index' { + declare module.exports: any; +} + +declare module 'enzyme-adapter-react-16/build/ReactSixteenAdapter' { + declare module.exports: any; +} + +declare module 'enzyme-adapter-react-16/src/index' { + declare module.exports: any; +} + +declare module 'enzyme-adapter-react-16/src/ReactSixteenAdapter' { + declare module.exports: any; +} + +// Filename aliases +declare module 'enzyme-adapter-react-16/build/index.js' { + declare module.exports: $Exports<'enzyme-adapter-react-16/build/index'>; +} +declare module 'enzyme-adapter-react-16/build/ReactSixteenAdapter.js' { + declare module.exports: $Exports<'enzyme-adapter-react-16/build/ReactSixteenAdapter'>; +} +declare module 'enzyme-adapter-react-16/src/index.js' { + declare module.exports: $Exports<'enzyme-adapter-react-16/src/index'>; +} +declare module 'enzyme-adapter-react-16/src/ReactSixteenAdapter.js' { + declare module.exports: $Exports<'enzyme-adapter-react-16/src/ReactSixteenAdapter'>; +} diff --git a/flow-typed/npm/enzyme_v2.3.x.js b/flow-typed/npm/enzyme_v3.x.x.js similarity index 75% rename from flow-typed/npm/enzyme_v2.3.x.js rename to flow-typed/npm/enzyme_v3.x.x.js index 242f724745..abf43308ed 100644 --- a/flow-typed/npm/enzyme_v2.3.x.js +++ b/flow-typed/npm/enzyme_v3.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 905cf3353a9aaa3647dc2232b1cd864a -// flow-typed version: 8742c67386/enzyme_v2.3.x/flow_>=v0.53.x +// flow-typed signature: 7be2af8800fdadaea6ac0404d256bafc +// flow-typed version: 6ce6a0467c/enzyme_v3.x.x/flow_>=v0.53.x import * as React from "react"; @@ -20,12 +20,14 @@ declare module "enzyme" { findWhere(predicate: PredicateFunction): this, filter(selector: EnzymeSelector): this, filterWhere(predicate: PredicateFunction): this, + hostNodes(): this, contains(nodeOrNodes: NodeOrNodes): boolean, containsMatchingElement(node: React.Node): boolean, containsAllMatchingElements(nodes: NodeOrNodes): boolean, containsAnyMatchingElements(nodes: NodeOrNodes): boolean, dive(option?: { context?: Object }): this, exists(): boolean, + isEmptyRender(): boolean, matchesElement(node: React.Node): boolean, hasClass(className: string): boolean, is(selector: EnzymeSelector): boolean, @@ -41,8 +43,6 @@ declare module "enzyme" { text(): string, html(): string, get(index: number): React.Node, - getNode(): React.Node, - getNodes(): Array, getDOMNode(): HTMLElement | HTMLInputElement, at(index: number): this, first(): this, @@ -58,7 +58,7 @@ declare module "enzyme" { setContext(context: Object): this, instance(): React.Component<*, *>, update(): this, - debug(): string, + debug(options?: Object): string, type(): string | Function | null, name(): string, forEach(fn: (node: this, index: number) => mixed): this, @@ -78,24 +78,30 @@ declare module "enzyme" { length: number } - declare export class ReactWrapper extends Wrapper { + declare class ReactWrapper extends Wrapper { constructor(nodes: NodeOrNodes, root: any, options?: ?Object): ReactWrapper, mount(): this, ref(refName: string): this, detach(): void } - declare export class ShallowWrapper extends Wrapper { - constructor(nodes: NodeOrNodes, root: any, options?: ?Object): ShallowWrapper; + declare class ShallowWrapper extends Wrapper { + constructor( + nodes: NodeOrNodes, + root: any, + options?: ?Object + ): ShallowWrapper, equals(node: React.Node): boolean, - shallow(options?: { context?: Object }): ShallowWrapper + shallow(options?: { context?: Object }): ShallowWrapper, + getElement(): React.Node, + getElements(): Array } - declare export function shallow( + declare function shallow( node: React.Node, - options?: { context?: Object } + options?: { context?: Object, disableLifecycleMethods?: boolean } ): ShallowWrapper; - declare export function mount( + declare function mount( node: React.Node, options?: { context?: Object, @@ -103,8 +109,20 @@ declare module "enzyme" { childContextTypes?: Object } ): ReactWrapper; - declare export function render( + declare function render( node: React.Node, options?: { context?: Object } ): CheerioWrapper; + + declare module.exports: { + configure(options: { + Adapter?: any, + disableLifecycleMethods?: boolean + }): void, + render: typeof render, + mount: typeof mount, + shallow: typeof shallow, + ShallowWrapper: typeof ShallowWrapper, + ReactWrapper: typeof ReactWrapper + }; } diff --git a/flow-typed/npm/eslint-config-google_vx.x.x.js b/flow-typed/npm/eslint-config-google_vx.x.x.js index fe84c7fcdc..87fb431eeb 100644 --- a/flow-typed/npm/eslint-config-google_vx.x.x.js +++ b/flow-typed/npm/eslint-config-google_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 9090bc9dd5fcd3b25d99b1af80332f08 -// flow-typed version: <>/eslint-config-google_v^0.9.1/flow_v0.59.0 +// flow-typed signature: 4ed0dd5151c5576116713b6361d594b1 +// flow-typed version: <>/eslint-config-google_v^0.9.1/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/eslint-config-mitodl_vx.x.x.js b/flow-typed/npm/eslint-config-mitodl_vx.x.x.js index 32812e6fe9..0008a2235f 100644 --- a/flow-typed/npm/eslint-config-mitodl_vx.x.x.js +++ b/flow-typed/npm/eslint-config-mitodl_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 998035132854d70bfb69aba2fb4c2fbf -// flow-typed version: <>/eslint-config-mitodl_v0.0.4/flow_v0.59.0 +// flow-typed signature: e9e03f1bf6c50e401054efa050f7c384 +// flow-typed version: <>/eslint-config-mitodl_v0.0.4/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/eslint-plugin-babel_vx.x.x.js b/flow-typed/npm/eslint-plugin-babel_vx.x.x.js index 734155b31e..01fe9bd4b6 100644 --- a/flow-typed/npm/eslint-plugin-babel_vx.x.x.js +++ b/flow-typed/npm/eslint-plugin-babel_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: f12405b305de49000027ac81cf7e69fb -// flow-typed version: <>/eslint-plugin-babel_v^4.1.1/flow_v0.59.0 +// flow-typed signature: aa68a3f15380cd97136423d5fb837e0d +// flow-typed version: <>/eslint-plugin-babel_v^5.1.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -22,10 +22,6 @@ declare module 'eslint-plugin-babel' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'eslint-plugin-babel/ast-utils' { - declare module.exports: any; -} - declare module 'eslint-plugin-babel/rules/array-bracket-spacing' { declare module.exports: any; } @@ -58,6 +54,10 @@ declare module 'eslint-plugin-babel/rules/no-invalid-this' { declare module.exports: any; } +declare module 'eslint-plugin-babel/rules/no-unused-expressions' { + declare module.exports: any; +} + declare module 'eslint-plugin-babel/rules/object-curly-spacing' { declare module.exports: any; } @@ -66,6 +66,10 @@ declare module 'eslint-plugin-babel/rules/object-shorthand' { declare module.exports: any; } +declare module 'eslint-plugin-babel/rules/quotes' { + declare module.exports: any; +} + declare module 'eslint-plugin-babel/rules/semi' { declare module.exports: any; } @@ -78,10 +82,18 @@ declare module 'eslint-plugin-babel/tests/rules/no-invalid-this' { declare module.exports: any; } +declare module 'eslint-plugin-babel/tests/rules/no-unused-expressions' { + declare module.exports: any; +} + declare module 'eslint-plugin-babel/tests/rules/object-curly-spacing' { declare module.exports: any; } +declare module 'eslint-plugin-babel/tests/rules/quotes' { + declare module.exports: any; +} + declare module 'eslint-plugin-babel/tests/rules/semi' { declare module.exports: any; } @@ -91,9 +103,6 @@ declare module 'eslint-plugin-babel/tests/RuleTester' { } // Filename aliases -declare module 'eslint-plugin-babel/ast-utils.js' { - declare module.exports: $Exports<'eslint-plugin-babel/ast-utils'>; -} declare module 'eslint-plugin-babel/index' { declare module.exports: $Exports<'eslint-plugin-babel'>; } @@ -124,12 +133,18 @@ declare module 'eslint-plugin-babel/rules/no-await-in-loop.js' { declare module 'eslint-plugin-babel/rules/no-invalid-this.js' { declare module.exports: $Exports<'eslint-plugin-babel/rules/no-invalid-this'>; } +declare module 'eslint-plugin-babel/rules/no-unused-expressions.js' { + declare module.exports: $Exports<'eslint-plugin-babel/rules/no-unused-expressions'>; +} declare module 'eslint-plugin-babel/rules/object-curly-spacing.js' { declare module.exports: $Exports<'eslint-plugin-babel/rules/object-curly-spacing'>; } declare module 'eslint-plugin-babel/rules/object-shorthand.js' { declare module.exports: $Exports<'eslint-plugin-babel/rules/object-shorthand'>; } +declare module 'eslint-plugin-babel/rules/quotes.js' { + declare module.exports: $Exports<'eslint-plugin-babel/rules/quotes'>; +} declare module 'eslint-plugin-babel/rules/semi.js' { declare module.exports: $Exports<'eslint-plugin-babel/rules/semi'>; } @@ -139,9 +154,15 @@ declare module 'eslint-plugin-babel/tests/rules/new-cap.js' { declare module 'eslint-plugin-babel/tests/rules/no-invalid-this.js' { declare module.exports: $Exports<'eslint-plugin-babel/tests/rules/no-invalid-this'>; } +declare module 'eslint-plugin-babel/tests/rules/no-unused-expressions.js' { + declare module.exports: $Exports<'eslint-plugin-babel/tests/rules/no-unused-expressions'>; +} declare module 'eslint-plugin-babel/tests/rules/object-curly-spacing.js' { declare module.exports: $Exports<'eslint-plugin-babel/tests/rules/object-curly-spacing'>; } +declare module 'eslint-plugin-babel/tests/rules/quotes.js' { + declare module.exports: $Exports<'eslint-plugin-babel/tests/rules/quotes'>; +} declare module 'eslint-plugin-babel/tests/rules/semi.js' { declare module.exports: $Exports<'eslint-plugin-babel/tests/rules/semi'>; } diff --git a/flow-typed/npm/eslint-plugin-flow-vars_vx.x.x.js b/flow-typed/npm/eslint-plugin-flow-vars_vx.x.x.js index 85bb20577c..1645c233b5 100644 --- a/flow-typed/npm/eslint-plugin-flow-vars_vx.x.x.js +++ b/flow-typed/npm/eslint-plugin-flow-vars_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 1918714bc290977dcdbf9d6eeafa3243 -// flow-typed version: <>/eslint-plugin-flow-vars_v^0.5.0/flow_v0.59.0 +// flow-typed signature: fdbe91775015f06529640d67a5771a30 +// flow-typed version: <>/eslint-plugin-flow-vars_v^0.5.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/eslint-plugin-flowtype_vx.x.x.js b/flow-typed/npm/eslint-plugin-flowtype_vx.x.x.js index db699d7123..db38c38f3d 100644 --- a/flow-typed/npm/eslint-plugin-flowtype_vx.x.x.js +++ b/flow-typed/npm/eslint-plugin-flowtype_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: f62db002315a2fed4e584f523074ba03 -// flow-typed version: <>/eslint-plugin-flowtype_v^2.35.0/flow_v0.59.0 +// flow-typed signature: cb26819faf8dd816b061a243fd4436b1 +// flow-typed version: <>/eslint-plugin-flowtype_v^2.48.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -30,6 +30,26 @@ declare module 'eslint-plugin-flowtype/dist/index' { declare module.exports: any; } +declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/index' { + declare module.exports: any; +} + +declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/isSimpleType' { + declare module.exports: any; +} + +declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/needWrap' { + declare module.exports: any; +} + +declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleComplexType' { + declare module.exports: any; +} + +declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleSimpleType' { + declare module.exports: any; +} + declare module 'eslint-plugin-flowtype/dist/rules/booleanStyle' { declare module.exports: any; } @@ -46,10 +66,26 @@ declare module 'eslint-plugin-flowtype/dist/rules/genericSpacing' { declare module.exports: any; } +declare module 'eslint-plugin-flowtype/dist/rules/newlineAfterFlowAnnotation' { + declare module.exports: any; +} + declare module 'eslint-plugin-flowtype/dist/rules/noDupeKeys' { declare module.exports: any; } +declare module 'eslint-plugin-flowtype/dist/rules/noExistentialType' { + declare module.exports: any; +} + +declare module 'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments' { + declare module.exports: any; +} + +declare module 'eslint-plugin-flowtype/dist/rules/noMutableArray' { + declare module.exports: any; +} + declare module 'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes' { declare module.exports: any; } @@ -58,6 +94,10 @@ declare module 'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation' declare module.exports: any; } +declare module 'eslint-plugin-flowtype/dist/rules/noUnusedExpressions' { + declare module.exports: any; +} + declare module 'eslint-plugin-flowtype/dist/rules/noWeakTypes' { declare module.exports: any; } @@ -66,6 +106,10 @@ declare module 'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter' { declare module.exports: any; } +declare module 'eslint-plugin-flowtype/dist/rules/requireExactType' { + declare module.exports: any; +} + declare module 'eslint-plugin-flowtype/dist/rules/requireParameterType' { declare module.exports: any; } @@ -74,6 +118,10 @@ declare module 'eslint-plugin-flowtype/dist/rules/requireReturnType' { declare module.exports: any; } +declare module 'eslint-plugin-flowtype/dist/rules/requireTypesAtTop' { + declare module.exports: any; +} + declare module 'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation' { declare module.exports: any; } @@ -138,6 +186,10 @@ declare module 'eslint-plugin-flowtype/dist/rules/typeIdMatch' { declare module.exports: any; } +declare module 'eslint-plugin-flowtype/dist/rules/typeImportStyle' { + declare module.exports: any; +} + declare module 'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing' { declare module.exports: any; } @@ -201,6 +253,21 @@ declare module 'eslint-plugin-flowtype/bin/readmeAssertions.js' { declare module 'eslint-plugin-flowtype/dist/index.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/index'>; } +declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/index.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyle/index'>; +} +declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/isSimpleType.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyle/isSimpleType'>; +} +declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/needWrap.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyle/needWrap'>; +} +declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleComplexType.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyleComplexType'>; +} +declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleSimpleType.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyleSimpleType'>; +} declare module 'eslint-plugin-flowtype/dist/rules/booleanStyle.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/booleanStyle'>; } @@ -213,27 +280,48 @@ declare module 'eslint-plugin-flowtype/dist/rules/delimiterDangle.js' { declare module 'eslint-plugin-flowtype/dist/rules/genericSpacing.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/genericSpacing'>; } +declare module 'eslint-plugin-flowtype/dist/rules/newlineAfterFlowAnnotation.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/newlineAfterFlowAnnotation'>; +} declare module 'eslint-plugin-flowtype/dist/rules/noDupeKeys.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noDupeKeys'>; } +declare module 'eslint-plugin-flowtype/dist/rules/noExistentialType.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noExistentialType'>; +} +declare module 'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments'>; +} +declare module 'eslint-plugin-flowtype/dist/rules/noMutableArray.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noMutableArray'>; +} declare module 'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes'>; } declare module 'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation'>; } +declare module 'eslint-plugin-flowtype/dist/rules/noUnusedExpressions.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noUnusedExpressions'>; +} declare module 'eslint-plugin-flowtype/dist/rules/noWeakTypes.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noWeakTypes'>; } declare module 'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter'>; } +declare module 'eslint-plugin-flowtype/dist/rules/requireExactType.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireExactType'>; +} declare module 'eslint-plugin-flowtype/dist/rules/requireParameterType.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireParameterType'>; } declare module 'eslint-plugin-flowtype/dist/rules/requireReturnType.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireReturnType'>; } +declare module 'eslint-plugin-flowtype/dist/rules/requireTypesAtTop.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireTypesAtTop'>; +} declare module 'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation'>; } @@ -282,6 +370,9 @@ declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/reporter.js' declare module 'eslint-plugin-flowtype/dist/rules/typeIdMatch.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeIdMatch'>; } +declare module 'eslint-plugin-flowtype/dist/rules/typeImportStyle.js' { + declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeImportStyle'>; +} declare module 'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing'>; } diff --git a/flow-typed/npm/eslint-plugin-mocha_vx.x.x.js b/flow-typed/npm/eslint-plugin-mocha_vx.x.x.js index 968fbb317d..66526054ae 100644 --- a/flow-typed/npm/eslint-plugin-mocha_vx.x.x.js +++ b/flow-typed/npm/eslint-plugin-mocha_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 4d6f8518a41eb6ac0f562cf482f17f01 -// flow-typed version: <>/eslint-plugin-mocha_v^4.11.0/flow_v0.59.0 +// flow-typed signature: f6ac0315b423bd7247308cf405c4dc83 +// flow-typed version: <>/eslint-plugin-mocha_v^5.0.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -66,6 +66,10 @@ declare module 'eslint-plugin-mocha/lib/rules/no-return-and-callback' { declare module.exports: any; } +declare module 'eslint-plugin-mocha/lib/rules/no-setup-in-describe' { + declare module.exports: any; +} + declare module 'eslint-plugin-mocha/lib/rules/no-sibling-hooks' { declare module.exports: any; } @@ -138,6 +142,9 @@ declare module 'eslint-plugin-mocha/lib/rules/no-pending-tests.js' { declare module 'eslint-plugin-mocha/lib/rules/no-return-and-callback.js' { declare module.exports: $Exports<'eslint-plugin-mocha/lib/rules/no-return-and-callback'>; } +declare module 'eslint-plugin-mocha/lib/rules/no-setup-in-describe.js' { + declare module.exports: $Exports<'eslint-plugin-mocha/lib/rules/no-setup-in-describe'>; +} declare module 'eslint-plugin-mocha/lib/rules/no-sibling-hooks.js' { declare module.exports: $Exports<'eslint-plugin-mocha/lib/rules/no-sibling-hooks'>; } diff --git a/flow-typed/npm/eslint-plugin-react_vx.x.x.js b/flow-typed/npm/eslint-plugin-react_vx.x.x.js index d5b407a368..2e20f2cc12 100644 --- a/flow-typed/npm/eslint-plugin-react_vx.x.x.js +++ b/flow-typed/npm/eslint-plugin-react_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 737afbb6af45f9f50eea8ac1375fecd0 -// flow-typed version: <>/eslint-plugin-react_v^7.1.0/flow_v0.59.0 +// flow-typed signature: 336413e44d3dcdd61a2920603003fa53 +// flow-typed version: <>/eslint-plugin-react_v^7.8.2/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -22,10 +22,22 @@ declare module 'eslint-plugin-react' { * require those files directly. Feel free to delete any files that aren't * needed. */ +declare module 'eslint-plugin-react/lib/rules/boolean-prop-naming' { + declare module.exports: any; +} + +declare module 'eslint-plugin-react/lib/rules/button-has-type' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/default-props-match-prop-types' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/rules/destructuring-assignment' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/display-name' { declare module.exports: any; } @@ -34,6 +46,10 @@ declare module 'eslint-plugin-react/lib/rules/forbid-component-props' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/rules/forbid-dom-props' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/forbid-elements' { declare module.exports: any; } @@ -50,6 +66,10 @@ declare module 'eslint-plugin-react/lib/rules/jsx-boolean-value' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/rules/jsx-child-element-spacing' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/jsx-closing-bracket-location' { declare module.exports: any; } @@ -58,6 +78,10 @@ declare module 'eslint-plugin-react/lib/rules/jsx-closing-tag-location' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/rules/jsx-curly-brace-presence' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/jsx-curly-spacing' { declare module.exports: any; } @@ -90,6 +114,10 @@ declare module 'eslint-plugin-react/lib/rules/jsx-key' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/rules/jsx-max-depth' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/jsx-max-props-per-line' { declare module.exports: any; } @@ -118,10 +146,18 @@ declare module 'eslint-plugin-react/lib/rules/jsx-no-undef' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/rules/jsx-one-expression-per-line' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/jsx-pascal-case' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/rules/jsx-sort-default-props' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/jsx-sort-props' { declare module.exports: any; } @@ -146,6 +182,10 @@ declare module 'eslint-plugin-react/lib/rules/jsx-wrap-multilines' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/rules/no-access-state-in-setstate' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/no-array-index-key' { declare module.exports: any; } @@ -206,6 +246,14 @@ declare module 'eslint-plugin-react/lib/rules/no-string-refs' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/rules/no-this-in-sfc' { + declare module.exports: any; +} + +declare module 'eslint-plugin-react/lib/rules/no-typos' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/no-unescaped-entities' { declare module.exports: any; } @@ -218,6 +266,10 @@ declare module 'eslint-plugin-react/lib/rules/no-unused-prop-types' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/rules/no-unused-state' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/rules/no-will-update-set-state' { declare module.exports: any; } @@ -274,10 +326,18 @@ declare module 'eslint-plugin-react/lib/util/annotations' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/util/ast' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/util/Components' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/util/docsUrl' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket' { declare module.exports: any; } @@ -290,6 +350,10 @@ declare module 'eslint-plugin-react/lib/util/pragma' { declare module.exports: any; } +declare module 'eslint-plugin-react/lib/util/props' { + declare module.exports: any; +} + declare module 'eslint-plugin-react/lib/util/variable' { declare module.exports: any; } @@ -305,15 +369,27 @@ declare module 'eslint-plugin-react/index' { declare module 'eslint-plugin-react/index.js' { declare module.exports: $Exports<'eslint-plugin-react'>; } +declare module 'eslint-plugin-react/lib/rules/boolean-prop-naming.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/boolean-prop-naming'>; +} +declare module 'eslint-plugin-react/lib/rules/button-has-type.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/button-has-type'>; +} declare module 'eslint-plugin-react/lib/rules/default-props-match-prop-types.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/default-props-match-prop-types'>; } +declare module 'eslint-plugin-react/lib/rules/destructuring-assignment.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/destructuring-assignment'>; +} declare module 'eslint-plugin-react/lib/rules/display-name.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/display-name'>; } declare module 'eslint-plugin-react/lib/rules/forbid-component-props.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-component-props'>; } +declare module 'eslint-plugin-react/lib/rules/forbid-dom-props.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-dom-props'>; +} declare module 'eslint-plugin-react/lib/rules/forbid-elements.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-elements'>; } @@ -326,12 +402,18 @@ declare module 'eslint-plugin-react/lib/rules/forbid-prop-types.js' { declare module 'eslint-plugin-react/lib/rules/jsx-boolean-value.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-boolean-value'>; } +declare module 'eslint-plugin-react/lib/rules/jsx-child-element-spacing.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-child-element-spacing'>; +} declare module 'eslint-plugin-react/lib/rules/jsx-closing-bracket-location.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-closing-bracket-location'>; } declare module 'eslint-plugin-react/lib/rules/jsx-closing-tag-location.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-closing-tag-location'>; } +declare module 'eslint-plugin-react/lib/rules/jsx-curly-brace-presence.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-curly-brace-presence'>; +} declare module 'eslint-plugin-react/lib/rules/jsx-curly-spacing.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-curly-spacing'>; } @@ -356,6 +438,9 @@ declare module 'eslint-plugin-react/lib/rules/jsx-indent.js' { declare module 'eslint-plugin-react/lib/rules/jsx-key.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-key'>; } +declare module 'eslint-plugin-react/lib/rules/jsx-max-depth.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-max-depth'>; +} declare module 'eslint-plugin-react/lib/rules/jsx-max-props-per-line.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-max-props-per-line'>; } @@ -377,9 +462,15 @@ declare module 'eslint-plugin-react/lib/rules/jsx-no-target-blank.js' { declare module 'eslint-plugin-react/lib/rules/jsx-no-undef.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-undef'>; } +declare module 'eslint-plugin-react/lib/rules/jsx-one-expression-per-line.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-one-expression-per-line'>; +} declare module 'eslint-plugin-react/lib/rules/jsx-pascal-case.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-pascal-case'>; } +declare module 'eslint-plugin-react/lib/rules/jsx-sort-default-props.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-sort-default-props'>; +} declare module 'eslint-plugin-react/lib/rules/jsx-sort-props.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-sort-props'>; } @@ -398,6 +489,9 @@ declare module 'eslint-plugin-react/lib/rules/jsx-uses-vars.js' { declare module 'eslint-plugin-react/lib/rules/jsx-wrap-multilines.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-wrap-multilines'>; } +declare module 'eslint-plugin-react/lib/rules/no-access-state-in-setstate.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-access-state-in-setstate'>; +} declare module 'eslint-plugin-react/lib/rules/no-array-index-key.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-array-index-key'>; } @@ -443,6 +537,12 @@ declare module 'eslint-plugin-react/lib/rules/no-set-state.js' { declare module 'eslint-plugin-react/lib/rules/no-string-refs.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-string-refs'>; } +declare module 'eslint-plugin-react/lib/rules/no-this-in-sfc.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-this-in-sfc'>; +} +declare module 'eslint-plugin-react/lib/rules/no-typos.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-typos'>; +} declare module 'eslint-plugin-react/lib/rules/no-unescaped-entities.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unescaped-entities'>; } @@ -452,6 +552,9 @@ declare module 'eslint-plugin-react/lib/rules/no-unknown-property.js' { declare module 'eslint-plugin-react/lib/rules/no-unused-prop-types.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unused-prop-types'>; } +declare module 'eslint-plugin-react/lib/rules/no-unused-state.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unused-state'>; +} declare module 'eslint-plugin-react/lib/rules/no-will-update-set-state.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-will-update-set-state'>; } @@ -494,9 +597,15 @@ declare module 'eslint-plugin-react/lib/rules/void-dom-elements-no-children.js' declare module 'eslint-plugin-react/lib/util/annotations.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/annotations'>; } +declare module 'eslint-plugin-react/lib/util/ast.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/util/ast'>; +} declare module 'eslint-plugin-react/lib/util/Components.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/Components'>; } +declare module 'eslint-plugin-react/lib/util/docsUrl.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/util/docsUrl'>; +} declare module 'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket'>; } @@ -506,6 +615,9 @@ declare module 'eslint-plugin-react/lib/util/makeNoMethodSetStateRule.js' { declare module 'eslint-plugin-react/lib/util/pragma.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/pragma'>; } +declare module 'eslint-plugin-react/lib/util/props.js' { + declare module.exports: $Exports<'eslint-plugin-react/lib/util/props'>; +} declare module 'eslint-plugin-react/lib/util/variable.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/variable'>; } diff --git a/flow-typed/npm/eslint_vx.x.x.js b/flow-typed/npm/eslint_vx.x.x.js index 01757856ba..0ab40a3b52 100644 --- a/flow-typed/npm/eslint_vx.x.x.js +++ b/flow-typed/npm/eslint_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: ad78740f161b65bbc11758954363b52e -// flow-typed version: <>/eslint_v^4.2.0/flow_v0.59.0 +// flow-typed signature: 8bfa947bb9b96c030a887958a3ac3e82 +// flow-typed version: <>/eslint_v^4.19.1/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -34,10 +34,6 @@ declare module 'eslint/conf/default-cli-options' { declare module.exports: any; } -declare module 'eslint/conf/default-config-options' { - declare module.exports: any; -} - declare module 'eslint/conf/environments' { declare module.exports: any; } @@ -190,14 +186,6 @@ declare module 'eslint/lib/ignored-paths' { declare module.exports: any; } -declare module 'eslint/lib/internal-rules/internal-consistent-docs-description' { - declare module.exports: any; -} - -declare module 'eslint/lib/internal-rules/internal-no-invalid-meta' { - declare module.exports: any; -} - declare module 'eslint/lib/linter' { declare module.exports: any; } @@ -214,7 +202,7 @@ declare module 'eslint/lib/options' { declare module.exports: any; } -declare module 'eslint/lib/rule-context' { +declare module 'eslint/lib/report-translator' { declare module.exports: any; } @@ -358,6 +346,10 @@ declare module 'eslint/lib/rules/func-style' { declare module.exports: any; } +declare module 'eslint/lib/rules/function-paren-newline' { + declare module.exports: any; +} + declare module 'eslint/lib/rules/generator-star-spacing' { declare module.exports: any; } @@ -390,6 +382,10 @@ declare module 'eslint/lib/rules/id-match' { declare module.exports: any; } +declare module 'eslint/lib/rules/implicit-arrow-linebreak' { + declare module.exports: any; +} + declare module 'eslint/lib/rules/indent-legacy' { declare module.exports: any; } @@ -430,6 +426,10 @@ declare module 'eslint/lib/rules/lines-around-directive' { declare module.exports: any; } +declare module 'eslint/lib/rules/lines-between-class-members' { + declare module.exports: any; +} + declare module 'eslint/lib/rules/max-depth' { declare module.exports: any; } @@ -458,6 +458,10 @@ declare module 'eslint/lib/rules/max-statements' { declare module.exports: any; } +declare module 'eslint/lib/rules/multiline-comment-style' { + declare module.exports: any; +} + declare module 'eslint/lib/rules/multiline-ternary' { declare module.exports: any; } @@ -1234,10 +1238,6 @@ declare module 'eslint/lib/rules/yoda' { declare module.exports: any; } -declare module 'eslint/lib/testers/event-generator-tester' { - declare module.exports: any; -} - declare module 'eslint/lib/testers/rule-tester' { declare module.exports: any; } @@ -1302,6 +1302,10 @@ declare module 'eslint/lib/util/ajv' { declare module.exports: any; } +declare module 'eslint/lib/util/apply-disable-directives' { + declare module.exports: any; +} + declare module 'eslint/lib/util/fix-tracker' { declare module.exports: any; } @@ -1318,6 +1322,10 @@ declare module 'eslint/lib/util/hash' { declare module.exports: any; } +declare module 'eslint/lib/util/interpolate' { + declare module.exports: any; +} + declare module 'eslint/lib/util/keywords' { declare module.exports: any; } @@ -1326,6 +1334,10 @@ declare module 'eslint/lib/util/module-resolver' { declare module.exports: any; } +declare module 'eslint/lib/util/naming' { + declare module.exports: any; +} + declare module 'eslint/lib/util/node-event-generator' { declare module.exports: any; } @@ -1346,6 +1358,10 @@ declare module 'eslint/lib/util/rule-fixer' { declare module.exports: any; } +declare module 'eslint/lib/util/safe-emitter' { + declare module.exports: any; +} + declare module 'eslint/lib/util/source-code-fixer' { declare module.exports: any; } @@ -1376,9 +1392,6 @@ declare module 'eslint/conf/config-schema.js' { declare module 'eslint/conf/default-cli-options.js' { declare module.exports: $Exports<'eslint/conf/default-cli-options'>; } -declare module 'eslint/conf/default-config-options.js' { - declare module.exports: $Exports<'eslint/conf/default-config-options'>; -} declare module 'eslint/conf/environments.js' { declare module.exports: $Exports<'eslint/conf/environments'>; } @@ -1493,12 +1506,6 @@ declare module 'eslint/lib/formatters/visualstudio.js' { declare module 'eslint/lib/ignored-paths.js' { declare module.exports: $Exports<'eslint/lib/ignored-paths'>; } -declare module 'eslint/lib/internal-rules/internal-consistent-docs-description.js' { - declare module.exports: $Exports<'eslint/lib/internal-rules/internal-consistent-docs-description'>; -} -declare module 'eslint/lib/internal-rules/internal-no-invalid-meta.js' { - declare module.exports: $Exports<'eslint/lib/internal-rules/internal-no-invalid-meta'>; -} declare module 'eslint/lib/linter.js' { declare module.exports: $Exports<'eslint/lib/linter'>; } @@ -1511,8 +1518,8 @@ declare module 'eslint/lib/logging.js' { declare module 'eslint/lib/options.js' { declare module.exports: $Exports<'eslint/lib/options'>; } -declare module 'eslint/lib/rule-context.js' { - declare module.exports: $Exports<'eslint/lib/rule-context'>; +declare module 'eslint/lib/report-translator.js' { + declare module.exports: $Exports<'eslint/lib/report-translator'>; } declare module 'eslint/lib/rules.js' { declare module.exports: $Exports<'eslint/lib/rules'>; @@ -1619,6 +1626,9 @@ declare module 'eslint/lib/rules/func-names.js' { declare module 'eslint/lib/rules/func-style.js' { declare module.exports: $Exports<'eslint/lib/rules/func-style'>; } +declare module 'eslint/lib/rules/function-paren-newline.js' { + declare module.exports: $Exports<'eslint/lib/rules/function-paren-newline'>; +} declare module 'eslint/lib/rules/generator-star-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/generator-star-spacing'>; } @@ -1643,6 +1653,9 @@ declare module 'eslint/lib/rules/id-length.js' { declare module 'eslint/lib/rules/id-match.js' { declare module.exports: $Exports<'eslint/lib/rules/id-match'>; } +declare module 'eslint/lib/rules/implicit-arrow-linebreak.js' { + declare module.exports: $Exports<'eslint/lib/rules/implicit-arrow-linebreak'>; +} declare module 'eslint/lib/rules/indent-legacy.js' { declare module.exports: $Exports<'eslint/lib/rules/indent-legacy'>; } @@ -1673,6 +1686,9 @@ declare module 'eslint/lib/rules/lines-around-comment.js' { declare module 'eslint/lib/rules/lines-around-directive.js' { declare module.exports: $Exports<'eslint/lib/rules/lines-around-directive'>; } +declare module 'eslint/lib/rules/lines-between-class-members.js' { + declare module.exports: $Exports<'eslint/lib/rules/lines-between-class-members'>; +} declare module 'eslint/lib/rules/max-depth.js' { declare module.exports: $Exports<'eslint/lib/rules/max-depth'>; } @@ -1694,6 +1710,9 @@ declare module 'eslint/lib/rules/max-statements-per-line.js' { declare module 'eslint/lib/rules/max-statements.js' { declare module.exports: $Exports<'eslint/lib/rules/max-statements'>; } +declare module 'eslint/lib/rules/multiline-comment-style.js' { + declare module.exports: $Exports<'eslint/lib/rules/multiline-comment-style'>; +} declare module 'eslint/lib/rules/multiline-ternary.js' { declare module.exports: $Exports<'eslint/lib/rules/multiline-ternary'>; } @@ -2276,9 +2295,6 @@ declare module 'eslint/lib/rules/yield-star-spacing.js' { declare module 'eslint/lib/rules/yoda.js' { declare module.exports: $Exports<'eslint/lib/rules/yoda'>; } -declare module 'eslint/lib/testers/event-generator-tester.js' { - declare module.exports: $Exports<'eslint/lib/testers/event-generator-tester'>; -} declare module 'eslint/lib/testers/rule-tester.js' { declare module.exports: $Exports<'eslint/lib/testers/rule-tester'>; } @@ -2327,6 +2343,9 @@ declare module 'eslint/lib/token-store/utils.js' { declare module 'eslint/lib/util/ajv.js' { declare module.exports: $Exports<'eslint/lib/util/ajv'>; } +declare module 'eslint/lib/util/apply-disable-directives.js' { + declare module.exports: $Exports<'eslint/lib/util/apply-disable-directives'>; +} declare module 'eslint/lib/util/fix-tracker.js' { declare module.exports: $Exports<'eslint/lib/util/fix-tracker'>; } @@ -2339,12 +2358,18 @@ declare module 'eslint/lib/util/glob.js' { declare module 'eslint/lib/util/hash.js' { declare module.exports: $Exports<'eslint/lib/util/hash'>; } +declare module 'eslint/lib/util/interpolate.js' { + declare module.exports: $Exports<'eslint/lib/util/interpolate'>; +} declare module 'eslint/lib/util/keywords.js' { declare module.exports: $Exports<'eslint/lib/util/keywords'>; } declare module 'eslint/lib/util/module-resolver.js' { declare module.exports: $Exports<'eslint/lib/util/module-resolver'>; } +declare module 'eslint/lib/util/naming.js' { + declare module.exports: $Exports<'eslint/lib/util/naming'>; +} declare module 'eslint/lib/util/node-event-generator.js' { declare module.exports: $Exports<'eslint/lib/util/node-event-generator'>; } @@ -2360,6 +2385,9 @@ declare module 'eslint/lib/util/patterns/letters.js' { declare module 'eslint/lib/util/rule-fixer.js' { declare module.exports: $Exports<'eslint/lib/util/rule-fixer'>; } +declare module 'eslint/lib/util/safe-emitter.js' { + declare module.exports: $Exports<'eslint/lib/util/safe-emitter'>; +} declare module 'eslint/lib/util/source-code-fixer.js' { declare module.exports: $Exports<'eslint/lib/util/source-code-fixer'>; } diff --git a/flow-typed/npm/express_v4.x.x.js b/flow-typed/npm/express_v4.x.x.js index 921e0fabf1..927fdfd760 100644 --- a/flow-typed/npm/express_v4.x.x.js +++ b/flow-typed/npm/express_v4.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: f0e399a136d6e8dc8b1fbdc078e2850c -// flow-typed version: ed397013d1/express_v4.x.x/flow_>=v0.32.x +// flow-typed signature: 45384ed25d019e0595020cc30e78b80f +// flow-typed version: d11eab7bb5/express_v4.x.x/flow_>=v0.32.x import type { Server } from 'http'; import type { Socket } from 'net'; @@ -21,7 +21,7 @@ declare type express$RequestParams = { declare class express$Request extends http$IncomingMessage mixins express$RequestResponseBase { baseUrl: string; - body: any; + body: mixed; cookies: {[cookie: string]: string}; connection: Socket; fresh: boolean; @@ -161,21 +161,18 @@ declare class express$Router extends express$Route { id: string ) => mixed ): void; - - // Can't use regular callable signature syntax due to https://github.com/facebook/flow/issues/3084 - // $FlowFixMe: no workaround yet - $call: (req: http$IncomingMessage, res: http$ServerResponse, next?: ?express$NextFunction) => void; + (req: http$IncomingMessage, res: http$ServerResponse, next?: ?express$NextFunction): void; } declare class express$Application extends express$Router mixins events$EventEmitter { constructor(): void; locals: {[name: string]: mixed}; mountpath: string; - listen(port: number, hostname?: string, backlog?: number, callback?: (err?: ?Error) => mixed): Server; - listen(port: number, hostname?: string, callback?: (err?: ?Error) => mixed): Server; - listen(port: number, callback?: (err?: ?Error) => mixed): Server; - listen(path: string, callback?: (err?: ?Error) => mixed): Server; - listen(handle: Object, callback?: (err?: ?Error) => mixed): Server; + listen(port: number, hostname?: string, backlog?: number, callback?: (err?: ?Error) => mixed): ?Server; + listen(port: number, hostname?: string, callback?: (err?: ?Error) => mixed): ?Server; + listen(port: number, callback?: (err?: ?Error) => mixed): ?Server; + listen(path: string, callback?: (err?: ?Error) => mixed): ?Server; + listen(handle: Object, callback?: (err?: ?Error) => mixed): ?Server; disable(name: string): void; disabled(name: string): boolean; enable(name: string): express$Application; @@ -188,6 +185,8 @@ declare class express$Application extends express$Router mixins events$EventEmit set(name: string, value: mixed): mixed; render(name: string, optionsOrFunction: {[name: string]: mixed}, callback: express$RenderCallback): void; handle(req: http$IncomingMessage, res: http$ServerResponse, next?: ?express$NextFunction): void; + // callable signature is not inherited + (req: http$IncomingMessage, res: http$ServerResponse, next?: ?express$NextFunction): void; } declare module 'express' { diff --git a/flow-typed/npm/extract-text-webpack-plugin_vx.x.x.js b/flow-typed/npm/extract-text-webpack-plugin_vx.x.x.js index f72f8755cc..afc2ce97dd 100644 --- a/flow-typed/npm/extract-text-webpack-plugin_vx.x.x.js +++ b/flow-typed/npm/extract-text-webpack-plugin_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 89191d9910b5b4e0008e00164a76ae63 -// flow-typed version: <>/extract-text-webpack-plugin_v2/flow_v0.59.0 +// flow-typed signature: 899e31207f21265fd5374191b70d45ef +// flow-typed version: <>/extract-text-webpack-plugin_v2/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/fetch-mock_vx.x.x.js b/flow-typed/npm/fetch-mock_vx.x.x.js index 3ac9c73667..026deb1996 100644 --- a/flow-typed/npm/fetch-mock_vx.x.x.js +++ b/flow-typed/npm/fetch-mock_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 921ce4165dbd16fe66b650963e4c624a -// flow-typed version: <>/fetch-mock_v^5.12.1/flow_v0.59.0 +// flow-typed signature: fb55c1d023a0707bb39a93e2ae91ff75 +// flow-typed version: <>/fetch-mock_v^5.12.1/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/flow-typed_vx.x.x.js b/flow-typed/npm/flow-typed_vx.x.x.js index 2312f73f5f..588440a590 100644 --- a/flow-typed/npm/flow-typed_vx.x.x.js +++ b/flow-typed/npm/flow-typed_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: d1a265df0a0472ec1ac1a79ec02177e7 -// flow-typed version: <>/flow-typed_v^2.2.3/flow_v0.59.0 +// flow-typed signature: a2887f203f015b7a6a02a39269a91306 +// flow-typed version: <>/flow-typed_v^2.4.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/history_v4.x.x.js b/flow-typed/npm/history_v4.x.x.js new file mode 100644 index 0000000000..04061f029c --- /dev/null +++ b/flow-typed/npm/history_v4.x.x.js @@ -0,0 +1,128 @@ +// flow-typed signature: eb8bd974b677b08dfca89de9ac05b60b +// flow-typed version: 43b30482ac/history_v4.x.x/flow_>=v0.25.x + +declare module "history/createBrowserHistory" { + declare function Unblock(): void; + + declare export type Action = "PUSH" | "REPLACE" | "POP"; + + declare export type BrowserLocation = { + pathname: string, + search: string, + hash: string, + // Browser and Memory specific + state: string, + key: string, + }; + + declare export type BrowserHistory = { + length: number, + location: BrowserLocation, + action: Action, + push: (path: string, Array) => void, + replace: (path: string, Array) => void, + go: (n: number) => void, + goBack: () => void, + goForward: () => void, + listen: Function, + block: (message: string) => Unblock, + block: ((location: BrowserLocation, action: Action) => string) => Unblock, + push: (path: string) => void, + replace: (path: string) => void, + }; + + declare type HistoryOpts = { + basename?: string, + forceRefresh?: boolean, + getUserConfirmation?: ( + message: string, + callback: (willContinue: boolean) => void, + ) => void, + }; + + declare export default (opts?: HistoryOpts) => BrowserHistory; +} + +declare module "history/createMemoryHistory" { + declare function Unblock(): void; + + declare export type Action = "PUSH" | "REPLACE" | "POP"; + + declare export type MemoryLocation = { + pathname: string, + search: string, + hash: string, + // Browser and Memory specific + state: string, + key: string, + }; + + declare export type MemoryHistory = { + length: number, + location: MemoryLocation, + action: Action, + index: number, + entries: Array, + push: (path: string, Array) => void, + replace: (path: string, Array) => void, + go: (n: number) => void, + goBack: () => void, + goForward: () => void, + // Memory only + canGo: (n: number) => boolean, + listen: Function, + block: (message: string) => Unblock, + block: ((location: MemoryLocation, action: Action) => string) => Unblock, + push: (path: string) => void, + }; + + declare type HistoryOpts = { + initialEntries?: Array, + initialIndex?: number, + keyLength?: number, + getUserConfirmation?: ( + message: string, + callback: (willContinue: boolean) => void, + ) => void, + }; + + declare export default (opts?: HistoryOpts) => MemoryHistory; +} + +declare module "history/createHashHistory" { + declare function Unblock(): void; + + declare export type Action = "PUSH" | "REPLACE" | "POP"; + + declare export type HashLocation = { + pathname: string, + search: string, + hash: string, + }; + + declare export type HashHistory = { + length: number, + location: HashLocation, + action: Action, + push: (path: string, Array) => void, + replace: (path: string, Array) => void, + go: (n: number) => void, + goBack: () => void, + goForward: () => void, + listen: Function, + block: (message: string) => Unblock, + block: ((location: HashLocation, action: Action) => string) => Unblock, + push: (path: string) => void, + }; + + declare type HistoryOpts = { + basename?: string, + hashType: "slash" | "noslash" | "hashbang", + getUserConfirmation?: ( + message: string, + callback: (willContinue: boolean) => void, + ) => void, + }; + + declare export default (opts?: HistoryOpts) => HashHistory; +} diff --git a/flow-typed/npm/history_vx.x.x.js b/flow-typed/npm/history_vx.x.x.js deleted file mode 100644 index fb1a3f03a8..0000000000 --- a/flow-typed/npm/history_vx.x.x.js +++ /dev/null @@ -1,150 +0,0 @@ -// flow-typed signature: 749b571f707e29aa6fa435bdb65792f3 -// flow-typed version: <>/history_v^4.6.3/flow_v0.59.0 - -/** - * This is an autogenerated libdef stub for: - * - * 'history' - * - * Fill this stub out by replacing all the `any` types. - * - * Once filled out, we encourage you to share your work with the - * community by sending a pull request to: - * https://github.com/flowtype/flow-typed - */ - -declare module 'history' { - declare module.exports: any; -} - -/** - * We include stubs for each file inside this npm package in case you need to - * require those files directly. Feel free to delete any files that aren't - * needed. - */ -declare module 'history/createBrowserHistory' { - declare module.exports: any; -} - -declare module 'history/createHashHistory' { - declare module.exports: any; -} - -declare module 'history/createMemoryHistory' { - declare module.exports: any; -} - -declare module 'history/createTransitionManager' { - declare module.exports: any; -} - -declare module 'history/DOMUtils' { - declare module.exports: any; -} - -declare module 'history/es/createBrowserHistory' { - declare module.exports: any; -} - -declare module 'history/es/createHashHistory' { - declare module.exports: any; -} - -declare module 'history/es/createMemoryHistory' { - declare module.exports: any; -} - -declare module 'history/es/createTransitionManager' { - declare module.exports: any; -} - -declare module 'history/es/DOMUtils' { - declare module.exports: any; -} - -declare module 'history/es/index' { - declare module.exports: any; -} - -declare module 'history/es/LocationUtils' { - declare module.exports: any; -} - -declare module 'history/es/PathUtils' { - declare module.exports: any; -} - -declare module 'history/LocationUtils' { - declare module.exports: any; -} - -declare module 'history/PathUtils' { - declare module.exports: any; -} - -declare module 'history/umd/history' { - declare module.exports: any; -} - -declare module 'history/umd/history.min' { - declare module.exports: any; -} - -// Filename aliases -declare module 'history/createBrowserHistory.js' { - declare module.exports: $Exports<'history/createBrowserHistory'>; -} -declare module 'history/createHashHistory.js' { - declare module.exports: $Exports<'history/createHashHistory'>; -} -declare module 'history/createMemoryHistory.js' { - declare module.exports: $Exports<'history/createMemoryHistory'>; -} -declare module 'history/createTransitionManager.js' { - declare module.exports: $Exports<'history/createTransitionManager'>; -} -declare module 'history/DOMUtils.js' { - declare module.exports: $Exports<'history/DOMUtils'>; -} -declare module 'history/es/createBrowserHistory.js' { - declare module.exports: $Exports<'history/es/createBrowserHistory'>; -} -declare module 'history/es/createHashHistory.js' { - declare module.exports: $Exports<'history/es/createHashHistory'>; -} -declare module 'history/es/createMemoryHistory.js' { - declare module.exports: $Exports<'history/es/createMemoryHistory'>; -} -declare module 'history/es/createTransitionManager.js' { - declare module.exports: $Exports<'history/es/createTransitionManager'>; -} -declare module 'history/es/DOMUtils.js' { - declare module.exports: $Exports<'history/es/DOMUtils'>; -} -declare module 'history/es/index.js' { - declare module.exports: $Exports<'history/es/index'>; -} -declare module 'history/es/LocationUtils.js' { - declare module.exports: $Exports<'history/es/LocationUtils'>; -} -declare module 'history/es/PathUtils.js' { - declare module.exports: $Exports<'history/es/PathUtils'>; -} -declare module 'history/index' { - declare module.exports: $Exports<'history'>; -} -declare module 'history/index.js' { - declare module.exports: $Exports<'history'>; -} -declare module 'history/LocationUtils.js' { - declare module.exports: $Exports<'history/LocationUtils'>; -} -declare module 'history/PathUtils.js' { - declare module.exports: $Exports<'history/PathUtils'>; -} -declare module 'history/umd/history.js' { - declare module.exports: $Exports<'history/umd/history'>; -} -declare module 'history/umd/history.min.js' { - declare module.exports: $Exports<'history/umd/history.min'>; -} diff --git a/flow-typed/npm/jsdom-global_vx.x.x.js b/flow-typed/npm/jsdom-global_vx.x.x.js index 2887724736..7f0cd942dd 100644 --- a/flow-typed/npm/jsdom-global_vx.x.x.js +++ b/flow-typed/npm/jsdom-global_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: e534f58918b57bc285d6f1928df9105e -// flow-typed version: <>/jsdom-global_v^3.0.2/flow_v0.59.0 +// flow-typed signature: a6ccf913b99730dac8d5ab64718dea17 +// flow-typed version: <>/jsdom-global_v^3.0.2/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/jsdom_vx.x.x.js b/flow-typed/npm/jsdom_vx.x.x.js index 14c458d9c9..f152453fcb 100644 --- a/flow-typed/npm/jsdom_vx.x.x.js +++ b/flow-typed/npm/jsdom_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 6b5aba9a2d2db33a6aaed068c00d4632 -// flow-typed version: <>/jsdom_v^11.1.0/flow_v0.59.0 +// flow-typed signature: 2ea327ba6cbd702ee8a5fc4f569e7083 +// flow-typed version: <>/jsdom_v^11.5.1/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -66,6 +66,14 @@ declare module 'jsdom/lib/jsdom/level3/xpath' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/aborting/AbortController-impl' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/aborting/AbortSignal-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/attributes' { declare module.exports: any; } @@ -74,7 +82,7 @@ declare module 'jsdom/lib/jsdom/living/attributes/Attr-impl' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/dom-token-list' { +declare module 'jsdom/lib/jsdom/living/attributes/NamedNodeMap-impl' { declare module.exports: any; } @@ -82,6 +90,10 @@ declare module 'jsdom/lib/jsdom/living/domparsing/DOMParser-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/events/CompositionEvent-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/events/CustomEvent-impl' { declare module.exports: any; } @@ -134,6 +146,10 @@ declare module 'jsdom/lib/jsdom/living/events/UIEvent-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/events/WheelEvent-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/file-api/Blob-impl' { declare module.exports: any; } @@ -154,6 +170,14 @@ declare module 'jsdom/lib/jsdom/living/form-data-symbols' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/AbortController' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/AbortSignal' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/AddEventListenerOptions' { declare module.exports: any; } @@ -186,6 +210,14 @@ declare module 'jsdom/lib/jsdom/living/generated/Comment' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/CompositionEvent' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/CompositionEventInit' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/CustomEvent' { declare module.exports: any; } @@ -214,6 +246,14 @@ declare module 'jsdom/lib/jsdom/living/generated/DOMParser' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/DOMStringMap' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/DOMTokenList' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/Element' { declare module.exports: any; } @@ -254,6 +294,10 @@ declare module 'jsdom/lib/jsdom/living/generated/EventTarget' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/External' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/File' { declare module.exports: any; } @@ -282,6 +326,10 @@ declare module 'jsdom/lib/jsdom/living/generated/FormData' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/GetRootNodeOptions' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/GlobalEventHandlers' { declare module.exports: any; } @@ -302,10 +350,6 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLAnchorElement' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/generated/HTMLAppletElement' { - declare module.exports: any; -} - declare module 'jsdom/lib/jsdom/living/generated/HTMLAreaElement' { declare module.exports: any; } @@ -334,6 +378,10 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLCanvasElement' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/HTMLCollection' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/HTMLDataElement' { declare module.exports: any; } @@ -342,6 +390,10 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLDataListElement' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/HTMLDetailsElement' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/HTMLDialogElement' { declare module.exports: any; } @@ -438,6 +490,10 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLMapElement' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/HTMLMarqueeElement' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/HTMLMediaElement' { declare module.exports: any; } @@ -474,6 +530,10 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLOptionElement' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/HTMLOptionsCollection' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/HTMLOutputElement' { declare module.exports: any; } @@ -486,6 +546,10 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLParamElement' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/HTMLPictureElement' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/HTMLPreElement' { declare module.exports: any; } @@ -530,18 +594,10 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLTableColElement' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/generated/HTMLTableDataCellElement' { - declare module.exports: any; -} - declare module 'jsdom/lib/jsdom/living/generated/HTMLTableElement' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/generated/HTMLTableHeaderCellElement' { - declare module.exports: any; -} - declare module 'jsdom/lib/jsdom/living/generated/HTMLTableRowElement' { declare module.exports: any; } @@ -614,6 +670,10 @@ declare module 'jsdom/lib/jsdom/living/generated/MouseEventInit' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/NamedNodeMap' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/Navigator' { declare module.exports: any; } @@ -646,6 +706,14 @@ declare module 'jsdom/lib/jsdom/living/generated/Node' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/NodeIterator' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/NodeList' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/NonDocumentTypeChildNode' { declare module.exports: any; } @@ -682,10 +750,54 @@ declare module 'jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/ScrollLogicalPosition' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/ScrollOptions' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/ScrollRestoration' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/SupportedType' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/SVGAnimatedString' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/SVGBoundingBoxOptions' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/SVGElement' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/SVGGraphicsElement' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/SVGNumber' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/SVGStringList' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/SVGSVGElement' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/SVGTests' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/Text' { declare module.exports: any; } @@ -710,6 +822,18 @@ declare module 'jsdom/lib/jsdom/living/generated/utils' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/VisibilityState' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/WheelEvent' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/WheelEventInit' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/generated/WindowEventHandlers' { declare module.exports: any; } @@ -718,10 +842,22 @@ declare module 'jsdom/lib/jsdom/living/generated/XMLDocument' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/generated/XMLHttpRequestEventTarget' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/generated/XMLHttpRequestUpload' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/helpers/create-event-accessor' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/helpers/dates-and-times' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/helpers/document-base-url' { declare module.exports: any; } @@ -738,7 +874,11 @@ declare module 'jsdom/lib/jsdom/living/helpers/internal-constants' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/helpers/ordered-set-parser' { +declare module 'jsdom/lib/jsdom/living/helpers/json' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/helpers/ordered-set' { declare module.exports: any; } @@ -758,15 +898,19 @@ declare module 'jsdom/lib/jsdom/living/helpers/stylesheets' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/helpers/traversal' { +declare module 'jsdom/lib/jsdom/living/helpers/svg/basic-types' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/helpers/validate-names' { +declare module 'jsdom/lib/jsdom/living/helpers/text' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/html-collection' { +declare module 'jsdom/lib/jsdom/living/helpers/traversal' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/helpers/validate-names' { declare module.exports: any; } @@ -814,14 +958,6 @@ declare module 'jsdom/lib/jsdom/living/node-filter' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/node-iterator' { - declare module.exports: any; -} - -declare module 'jsdom/lib/jsdom/living/node-list' { - declare module.exports: any; -} - declare module 'jsdom/lib/jsdom/living/node-type' { declare module.exports: any; } @@ -862,6 +998,14 @@ declare module 'jsdom/lib/jsdom/living/nodes/DOMImplementation-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/nodes/DOMStringMap-impl' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/nodes/DOMTokenList-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/nodes/Element-impl' { declare module.exports: any; } @@ -882,7 +1026,7 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/nodes/HTMLAppletElement-impl' { +declare module 'jsdom/lib/jsdom/living/nodes/HTMLAndSVGElementShared-impl' { declare module.exports: any; } @@ -914,6 +1058,10 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/nodes/HTMLCollection-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl' { declare module.exports: any; } @@ -922,6 +1070,10 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/nodes/HTMLDetailsElement-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl' { declare module.exports: any; } @@ -1018,6 +1170,10 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/nodes/HTMLMarqueeElement-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl' { declare module.exports: any; } @@ -1054,6 +1210,10 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/nodes/HTMLOptionsCollection-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl' { declare module.exports: any; } @@ -1066,6 +1226,10 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/nodes/HTMLPictureElement-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl' { declare module.exports: any; } @@ -1110,18 +1274,10 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableDataCellElement-impl' { - declare module.exports: any; -} - declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableHeaderCellElement-impl' { - declare module.exports: any; -} - declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl' { declare module.exports: any; } @@ -1170,6 +1326,10 @@ declare module 'jsdom/lib/jsdom/living/nodes/Node-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/nodes/NodeList-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl' { declare module.exports: any; } @@ -1186,6 +1346,22 @@ declare module 'jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/nodes/SVGElement-impl' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/nodes/SVGGraphicsElement-impl' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/nodes/SVGSVGElement-impl' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/nodes/SVGTests-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/nodes/Text-impl' { declare module.exports: any; } @@ -1206,10 +1382,38 @@ declare module 'jsdom/lib/jsdom/living/register-elements' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/svg/SVGListBase' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/svg/SVGNumber-impl' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/svg/SVGStringList-impl' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/traversal/helpers' { + declare module.exports: any; +} + +declare module 'jsdom/lib/jsdom/living/traversal/NodeIterator-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/traversal/TreeWalker-impl' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/window/External-impl' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/window/History-impl' { declare module.exports: any; } @@ -1222,6 +1426,10 @@ declare module 'jsdom/lib/jsdom/living/window/navigation' { declare module.exports: any; } +declare module 'jsdom/lib/jsdom/living/window/SessionHistory' { + declare module.exports: any; +} + declare module 'jsdom/lib/jsdom/living/xhr-sync-worker' { declare module.exports: any; } @@ -1234,15 +1442,15 @@ declare module 'jsdom/lib/jsdom/living/xhr/FormData-impl' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/xmlhttprequest-event-target' { +declare module 'jsdom/lib/jsdom/living/xhr/XMLHttpRequestEventTarget-impl' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/xmlhttprequest-symbols' { +declare module 'jsdom/lib/jsdom/living/xhr/XMLHttpRequestUpload-impl' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/living/xmlhttprequest-upload' { +declare module 'jsdom/lib/jsdom/living/xmlhttprequest-symbols' { declare module.exports: any; } @@ -1266,10 +1474,6 @@ declare module 'jsdom/lib/jsdom/vm-shim' { declare module.exports: any; } -declare module 'jsdom/lib/jsdom/web-idl/DOMException' { - declare module.exports: any; -} - declare module 'jsdom/lib/old-api' { declare module.exports: any; } @@ -1308,18 +1512,27 @@ declare module 'jsdom/lib/jsdom/level2/style.js' { declare module 'jsdom/lib/jsdom/level3/xpath.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/level3/xpath'>; } +declare module 'jsdom/lib/jsdom/living/aborting/AbortController-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/aborting/AbortController-impl'>; +} +declare module 'jsdom/lib/jsdom/living/aborting/AbortSignal-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/aborting/AbortSignal-impl'>; +} declare module 'jsdom/lib/jsdom/living/attributes.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/attributes'>; } declare module 'jsdom/lib/jsdom/living/attributes/Attr-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/attributes/Attr-impl'>; } -declare module 'jsdom/lib/jsdom/living/dom-token-list.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/dom-token-list'>; +declare module 'jsdom/lib/jsdom/living/attributes/NamedNodeMap-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/attributes/NamedNodeMap-impl'>; } declare module 'jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/domparsing/DOMParser-impl'>; } +declare module 'jsdom/lib/jsdom/living/events/CompositionEvent-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/events/CompositionEvent-impl'>; +} declare module 'jsdom/lib/jsdom/living/events/CustomEvent-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/events/CustomEvent-impl'>; } @@ -1359,6 +1572,9 @@ declare module 'jsdom/lib/jsdom/living/events/TouchEvent-impl.js' { declare module 'jsdom/lib/jsdom/living/events/UIEvent-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/events/UIEvent-impl'>; } +declare module 'jsdom/lib/jsdom/living/events/WheelEvent-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/events/WheelEvent-impl'>; +} declare module 'jsdom/lib/jsdom/living/file-api/Blob-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/file-api/Blob-impl'>; } @@ -1374,6 +1590,12 @@ declare module 'jsdom/lib/jsdom/living/file-api/FileReader-impl.js' { declare module 'jsdom/lib/jsdom/living/form-data-symbols.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/form-data-symbols'>; } +declare module 'jsdom/lib/jsdom/living/generated/AbortController.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/AbortController'>; +} +declare module 'jsdom/lib/jsdom/living/generated/AbortSignal.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/AbortSignal'>; +} declare module 'jsdom/lib/jsdom/living/generated/AddEventListenerOptions.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/AddEventListenerOptions'>; } @@ -1398,6 +1620,12 @@ declare module 'jsdom/lib/jsdom/living/generated/ChildNode.js' { declare module 'jsdom/lib/jsdom/living/generated/Comment.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/Comment'>; } +declare module 'jsdom/lib/jsdom/living/generated/CompositionEvent.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/CompositionEvent'>; +} +declare module 'jsdom/lib/jsdom/living/generated/CompositionEventInit.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/CompositionEventInit'>; +} declare module 'jsdom/lib/jsdom/living/generated/CustomEvent.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/CustomEvent'>; } @@ -1419,6 +1647,12 @@ declare module 'jsdom/lib/jsdom/living/generated/DOMImplementation.js' { declare module 'jsdom/lib/jsdom/living/generated/DOMParser.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/DOMParser'>; } +declare module 'jsdom/lib/jsdom/living/generated/DOMStringMap.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/DOMStringMap'>; +} +declare module 'jsdom/lib/jsdom/living/generated/DOMTokenList.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/DOMTokenList'>; +} declare module 'jsdom/lib/jsdom/living/generated/Element.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/Element'>; } @@ -1449,6 +1683,9 @@ declare module 'jsdom/lib/jsdom/living/generated/EventModifierInit.js' { declare module 'jsdom/lib/jsdom/living/generated/EventTarget.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/EventTarget'>; } +declare module 'jsdom/lib/jsdom/living/generated/External.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/External'>; +} declare module 'jsdom/lib/jsdom/living/generated/File.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/File'>; } @@ -1470,6 +1707,9 @@ declare module 'jsdom/lib/jsdom/living/generated/FocusEventInit.js' { declare module 'jsdom/lib/jsdom/living/generated/FormData.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/FormData'>; } +declare module 'jsdom/lib/jsdom/living/generated/GetRootNodeOptions.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/GetRootNodeOptions'>; +} declare module 'jsdom/lib/jsdom/living/generated/GlobalEventHandlers.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/GlobalEventHandlers'>; } @@ -1485,9 +1725,6 @@ declare module 'jsdom/lib/jsdom/living/generated/History.js' { declare module 'jsdom/lib/jsdom/living/generated/HTMLAnchorElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLAnchorElement'>; } -declare module 'jsdom/lib/jsdom/living/generated/HTMLAppletElement.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLAppletElement'>; -} declare module 'jsdom/lib/jsdom/living/generated/HTMLAreaElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLAreaElement'>; } @@ -1509,12 +1746,18 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLButtonElement.js' { declare module 'jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLCanvasElement'>; } +declare module 'jsdom/lib/jsdom/living/generated/HTMLCollection.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLCollection'>; +} declare module 'jsdom/lib/jsdom/living/generated/HTMLDataElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLDataElement'>; } declare module 'jsdom/lib/jsdom/living/generated/HTMLDataListElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLDataListElement'>; } +declare module 'jsdom/lib/jsdom/living/generated/HTMLDetailsElement.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLDetailsElement'>; +} declare module 'jsdom/lib/jsdom/living/generated/HTMLDialogElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLDialogElement'>; } @@ -1587,6 +1830,9 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLLinkElement.js' { declare module 'jsdom/lib/jsdom/living/generated/HTMLMapElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLMapElement'>; } +declare module 'jsdom/lib/jsdom/living/generated/HTMLMarqueeElement.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLMarqueeElement'>; +} declare module 'jsdom/lib/jsdom/living/generated/HTMLMediaElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLMediaElement'>; } @@ -1614,6 +1860,9 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLOptGroupElement.js' { declare module 'jsdom/lib/jsdom/living/generated/HTMLOptionElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLOptionElement'>; } +declare module 'jsdom/lib/jsdom/living/generated/HTMLOptionsCollection.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLOptionsCollection'>; +} declare module 'jsdom/lib/jsdom/living/generated/HTMLOutputElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLOutputElement'>; } @@ -1623,6 +1872,9 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLParagraphElement.js' { declare module 'jsdom/lib/jsdom/living/generated/HTMLParamElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLParamElement'>; } +declare module 'jsdom/lib/jsdom/living/generated/HTMLPictureElement.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLPictureElement'>; +} declare module 'jsdom/lib/jsdom/living/generated/HTMLPreElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLPreElement'>; } @@ -1656,15 +1908,9 @@ declare module 'jsdom/lib/jsdom/living/generated/HTMLTableCellElement.js' { declare module 'jsdom/lib/jsdom/living/generated/HTMLTableColElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLTableColElement'>; } -declare module 'jsdom/lib/jsdom/living/generated/HTMLTableDataCellElement.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLTableDataCellElement'>; -} declare module 'jsdom/lib/jsdom/living/generated/HTMLTableElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLTableElement'>; } -declare module 'jsdom/lib/jsdom/living/generated/HTMLTableHeaderCellElement.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLTableHeaderCellElement'>; -} declare module 'jsdom/lib/jsdom/living/generated/HTMLTableRowElement.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/HTMLTableRowElement'>; } @@ -1719,6 +1965,9 @@ declare module 'jsdom/lib/jsdom/living/generated/MouseEvent.js' { declare module 'jsdom/lib/jsdom/living/generated/MouseEventInit.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/MouseEventInit'>; } +declare module 'jsdom/lib/jsdom/living/generated/NamedNodeMap.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/NamedNodeMap'>; +} declare module 'jsdom/lib/jsdom/living/generated/Navigator.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/Navigator'>; } @@ -1743,6 +1992,12 @@ declare module 'jsdom/lib/jsdom/living/generated/NavigatorPlugins.js' { declare module 'jsdom/lib/jsdom/living/generated/Node.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/Node'>; } +declare module 'jsdom/lib/jsdom/living/generated/NodeIterator.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/NodeIterator'>; +} +declare module 'jsdom/lib/jsdom/living/generated/NodeList.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/NodeList'>; +} declare module 'jsdom/lib/jsdom/living/generated/NonDocumentTypeChildNode.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/NonDocumentTypeChildNode'>; } @@ -1770,9 +2025,42 @@ declare module 'jsdom/lib/jsdom/living/generated/ProgressEventInit.js' { declare module 'jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions'>; } +declare module 'jsdom/lib/jsdom/living/generated/ScrollLogicalPosition.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/ScrollLogicalPosition'>; +} declare module 'jsdom/lib/jsdom/living/generated/ScrollOptions.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/ScrollOptions'>; } +declare module 'jsdom/lib/jsdom/living/generated/ScrollRestoration.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/ScrollRestoration'>; +} +declare module 'jsdom/lib/jsdom/living/generated/SupportedType.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/SupportedType'>; +} +declare module 'jsdom/lib/jsdom/living/generated/SVGAnimatedString.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/SVGAnimatedString'>; +} +declare module 'jsdom/lib/jsdom/living/generated/SVGBoundingBoxOptions.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/SVGBoundingBoxOptions'>; +} +declare module 'jsdom/lib/jsdom/living/generated/SVGElement.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/SVGElement'>; +} +declare module 'jsdom/lib/jsdom/living/generated/SVGGraphicsElement.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/SVGGraphicsElement'>; +} +declare module 'jsdom/lib/jsdom/living/generated/SVGNumber.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/SVGNumber'>; +} +declare module 'jsdom/lib/jsdom/living/generated/SVGStringList.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/SVGStringList'>; +} +declare module 'jsdom/lib/jsdom/living/generated/SVGSVGElement.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/SVGSVGElement'>; +} +declare module 'jsdom/lib/jsdom/living/generated/SVGTests.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/SVGTests'>; +} declare module 'jsdom/lib/jsdom/living/generated/Text.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/Text'>; } @@ -1791,15 +2079,33 @@ declare module 'jsdom/lib/jsdom/living/generated/UIEventInit.js' { declare module 'jsdom/lib/jsdom/living/generated/utils.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/utils'>; } +declare module 'jsdom/lib/jsdom/living/generated/VisibilityState.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/VisibilityState'>; +} +declare module 'jsdom/lib/jsdom/living/generated/WheelEvent.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/WheelEvent'>; +} +declare module 'jsdom/lib/jsdom/living/generated/WheelEventInit.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/WheelEventInit'>; +} declare module 'jsdom/lib/jsdom/living/generated/WindowEventHandlers.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/WindowEventHandlers'>; } declare module 'jsdom/lib/jsdom/living/generated/XMLDocument.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/XMLDocument'>; } +declare module 'jsdom/lib/jsdom/living/generated/XMLHttpRequestEventTarget.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/XMLHttpRequestEventTarget'>; +} +declare module 'jsdom/lib/jsdom/living/generated/XMLHttpRequestUpload.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/generated/XMLHttpRequestUpload'>; +} declare module 'jsdom/lib/jsdom/living/helpers/create-event-accessor.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/create-event-accessor'>; } +declare module 'jsdom/lib/jsdom/living/helpers/dates-and-times.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/dates-and-times'>; +} declare module 'jsdom/lib/jsdom/living/helpers/document-base-url.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/document-base-url'>; } @@ -1812,8 +2118,11 @@ declare module 'jsdom/lib/jsdom/living/helpers/form-controls.js' { declare module 'jsdom/lib/jsdom/living/helpers/internal-constants.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/internal-constants'>; } -declare module 'jsdom/lib/jsdom/living/helpers/ordered-set-parser.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/ordered-set-parser'>; +declare module 'jsdom/lib/jsdom/living/helpers/json.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/json'>; +} +declare module 'jsdom/lib/jsdom/living/helpers/ordered-set.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/ordered-set'>; } declare module 'jsdom/lib/jsdom/living/helpers/runtime-script-errors.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/runtime-script-errors'>; @@ -1827,15 +2136,18 @@ declare module 'jsdom/lib/jsdom/living/helpers/strings.js' { declare module 'jsdom/lib/jsdom/living/helpers/stylesheets.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/stylesheets'>; } +declare module 'jsdom/lib/jsdom/living/helpers/svg/basic-types.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/svg/basic-types'>; +} +declare module 'jsdom/lib/jsdom/living/helpers/text.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/text'>; +} declare module 'jsdom/lib/jsdom/living/helpers/traversal.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/traversal'>; } declare module 'jsdom/lib/jsdom/living/helpers/validate-names.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/helpers/validate-names'>; } -declare module 'jsdom/lib/jsdom/living/html-collection.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/html-collection'>; -} declare module 'jsdom/lib/jsdom/living/index.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/index'>; } @@ -1869,12 +2181,6 @@ declare module 'jsdom/lib/jsdom/living/node-document-position.js' { declare module 'jsdom/lib/jsdom/living/node-filter.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/node-filter'>; } -declare module 'jsdom/lib/jsdom/living/node-iterator.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/node-iterator'>; -} -declare module 'jsdom/lib/jsdom/living/node-list.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/node-list'>; -} declare module 'jsdom/lib/jsdom/living/node-type.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/node-type'>; } @@ -1905,6 +2211,12 @@ declare module 'jsdom/lib/jsdom/living/nodes/DocumentType-impl.js' { declare module 'jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/DOMImplementation-impl'>; } +declare module 'jsdom/lib/jsdom/living/nodes/DOMStringMap-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/DOMStringMap-impl'>; +} +declare module 'jsdom/lib/jsdom/living/nodes/DOMTokenList-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/DOMTokenList-impl'>; +} declare module 'jsdom/lib/jsdom/living/nodes/Element-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/Element-impl'>; } @@ -1920,8 +2232,8 @@ declare module 'jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js' { declare module 'jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl'>; } -declare module 'jsdom/lib/jsdom/living/nodes/HTMLAppletElement-impl.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLAppletElement-impl'>; +declare module 'jsdom/lib/jsdom/living/nodes/HTMLAndSVGElementShared-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLAndSVGElementShared-impl'>; } declare module 'jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl'>; @@ -1944,12 +2256,18 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js' { declare module 'jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl'>; } +declare module 'jsdom/lib/jsdom/living/nodes/HTMLCollection-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLCollection-impl'>; +} declare module 'jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl'>; } declare module 'jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl'>; } +declare module 'jsdom/lib/jsdom/living/nodes/HTMLDetailsElement-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLDetailsElement-impl'>; +} declare module 'jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl'>; } @@ -2022,6 +2340,9 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js' { declare module 'jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl'>; } +declare module 'jsdom/lib/jsdom/living/nodes/HTMLMarqueeElement-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLMarqueeElement-impl'>; +} declare module 'jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl'>; } @@ -2049,6 +2370,9 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js' { declare module 'jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl'>; } +declare module 'jsdom/lib/jsdom/living/nodes/HTMLOptionsCollection-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLOptionsCollection-impl'>; +} declare module 'jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl'>; } @@ -2058,6 +2382,9 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js' { declare module 'jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl'>; } +declare module 'jsdom/lib/jsdom/living/nodes/HTMLPictureElement-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLPictureElement-impl'>; +} declare module 'jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl'>; } @@ -2091,15 +2418,9 @@ declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js' { declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl'>; } -declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableDataCellElement-impl.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLTableDataCellElement-impl'>; -} declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl'>; } -declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableHeaderCellElement-impl.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLTableHeaderCellElement-impl'>; -} declare module 'jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl'>; } @@ -2136,6 +2457,9 @@ declare module 'jsdom/lib/jsdom/living/nodes/LinkStyle-impl.js' { declare module 'jsdom/lib/jsdom/living/nodes/Node-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/Node-impl'>; } +declare module 'jsdom/lib/jsdom/living/nodes/NodeList-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/NodeList-impl'>; +} declare module 'jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl'>; } @@ -2148,6 +2472,18 @@ declare module 'jsdom/lib/jsdom/living/nodes/ParentNode-impl.js' { declare module 'jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl'>; } +declare module 'jsdom/lib/jsdom/living/nodes/SVGElement-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/SVGElement-impl'>; +} +declare module 'jsdom/lib/jsdom/living/nodes/SVGGraphicsElement-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/SVGGraphicsElement-impl'>; +} +declare module 'jsdom/lib/jsdom/living/nodes/SVGSVGElement-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/SVGSVGElement-impl'>; +} +declare module 'jsdom/lib/jsdom/living/nodes/SVGTests-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/SVGTests-impl'>; +} declare module 'jsdom/lib/jsdom/living/nodes/Text-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/nodes/Text-impl'>; } @@ -2163,9 +2499,30 @@ declare module 'jsdom/lib/jsdom/living/post-message.js' { declare module 'jsdom/lib/jsdom/living/register-elements.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/register-elements'>; } +declare module 'jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl'>; +} +declare module 'jsdom/lib/jsdom/living/svg/SVGListBase.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/svg/SVGListBase'>; +} +declare module 'jsdom/lib/jsdom/living/svg/SVGNumber-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/svg/SVGNumber-impl'>; +} +declare module 'jsdom/lib/jsdom/living/svg/SVGStringList-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/svg/SVGStringList-impl'>; +} +declare module 'jsdom/lib/jsdom/living/traversal/helpers.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/traversal/helpers'>; +} +declare module 'jsdom/lib/jsdom/living/traversal/NodeIterator-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/traversal/NodeIterator-impl'>; +} declare module 'jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/traversal/TreeWalker-impl'>; } +declare module 'jsdom/lib/jsdom/living/window/External-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/window/External-impl'>; +} declare module 'jsdom/lib/jsdom/living/window/History-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/window/History-impl'>; } @@ -2175,6 +2532,9 @@ declare module 'jsdom/lib/jsdom/living/window/Location-impl.js' { declare module 'jsdom/lib/jsdom/living/window/navigation.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/window/navigation'>; } +declare module 'jsdom/lib/jsdom/living/window/SessionHistory.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/window/SessionHistory'>; +} declare module 'jsdom/lib/jsdom/living/xhr-sync-worker.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/xhr-sync-worker'>; } @@ -2184,15 +2544,15 @@ declare module 'jsdom/lib/jsdom/living/xhr-utils.js' { declare module 'jsdom/lib/jsdom/living/xhr/FormData-impl.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/xhr/FormData-impl'>; } -declare module 'jsdom/lib/jsdom/living/xmlhttprequest-event-target.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/xmlhttprequest-event-target'>; +declare module 'jsdom/lib/jsdom/living/xhr/XMLHttpRequestEventTarget-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/xhr/XMLHttpRequestEventTarget-impl'>; +} +declare module 'jsdom/lib/jsdom/living/xhr/XMLHttpRequestUpload-impl.js' { + declare module.exports: $Exports<'jsdom/lib/jsdom/living/xhr/XMLHttpRequestUpload-impl'>; } declare module 'jsdom/lib/jsdom/living/xmlhttprequest-symbols.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/xmlhttprequest-symbols'>; } -declare module 'jsdom/lib/jsdom/living/xmlhttprequest-upload.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/living/xmlhttprequest-upload'>; -} declare module 'jsdom/lib/jsdom/living/xmlhttprequest.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/living/xmlhttprequest'>; } @@ -2208,9 +2568,6 @@ declare module 'jsdom/lib/jsdom/virtual-console.js' { declare module 'jsdom/lib/jsdom/vm-shim.js' { declare module.exports: $Exports<'jsdom/lib/jsdom/vm-shim'>; } -declare module 'jsdom/lib/jsdom/web-idl/DOMException.js' { - declare module.exports: $Exports<'jsdom/lib/jsdom/web-idl/DOMException'>; -} declare module 'jsdom/lib/old-api.js' { declare module.exports: $Exports<'jsdom/lib/old-api'>; } diff --git a/flow-typed/npm/lodash_v4.x.x.js b/flow-typed/npm/lodash_v4.x.x.js index 9170faa72d..f6eaee3777 100644 --- a/flow-typed/npm/lodash_v4.x.x.js +++ b/flow-typed/npm/lodash_v4.x.x.js @@ -1,4207 +1,5991 @@ -// flow-typed signature: 554384bc1c2235537d0c15bf2acefe99 -// flow-typed version: c5a8c20937/lodash_v4.x.x/flow_>=v0.55.x - -declare module "lodash" { - declare type __CurriedFunction1 = (...r: [AA]) => R; - declare type CurriedFunction1 = __CurriedFunction1; - - declare type __CurriedFunction2 = (( - ...r: [AA] - ) => CurriedFunction1) & - ((...r: [AA, BB]) => R); - declare type CurriedFunction2 = __CurriedFunction2; - - declare type __CurriedFunction3 = (( - ...r: [AA] - ) => CurriedFunction2) & - ((...r: [AA, BB]) => CurriedFunction1) & - ((...r: [AA, BB, CC]) => R); - declare type CurriedFunction3 = __CurriedFunction3< - A, - B, - C, - R, - *, - *, - * - >; - - declare type __CurriedFunction4< - A, - B, - C, - D, - R, - AA: A, - BB: B, - CC: C, - DD: D - > = ((...r: [AA]) => CurriedFunction3) & - ((...r: [AA, BB]) => CurriedFunction2) & - ((...r: [AA, BB, CC]) => CurriedFunction1) & - ((...r: [AA, BB, CC, DD]) => R); - declare type CurriedFunction4 = __CurriedFunction4< - A, - B, - C, - D, - R, - *, - *, - *, - * - >; - - declare type __CurriedFunction5< - A, - B, - C, - D, - E, - R, - AA: A, - BB: B, - CC: C, - DD: D, - EE: E - > = ((...r: [AA]) => CurriedFunction4) & - ((...r: [AA, BB]) => CurriedFunction3) & - ((...r: [AA, BB, CC]) => CurriedFunction2) & - ((...r: [AA, BB, CC, DD]) => CurriedFunction1) & - ((...r: [AA, BB, CC, DD, EE]) => R); - declare type CurriedFunction5 = __CurriedFunction5< - A, - B, - C, - D, - E, - R, - *, - *, - *, - *, - * - >; - - declare type __CurriedFunction6< - A, - B, - C, - D, - E, - F, - R, - AA: A, - BB: B, - CC: C, - DD: D, - EE: E, - FF: F - > = ((...r: [AA]) => CurriedFunction5) & - ((...r: [AA, BB]) => CurriedFunction4) & - ((...r: [AA, BB, CC]) => CurriedFunction3) & - ((...r: [AA, BB, CC, DD]) => CurriedFunction2) & - ((...r: [AA, BB, CC, DD, EE]) => CurriedFunction1) & - ((...r: [AA, BB, CC, DD, EE, FF]) => R); - declare type CurriedFunction6 = __CurriedFunction6< - A, - B, - C, - D, - E, - F, - R, - *, - *, - *, - *, - *, - * - >; - - declare type Curry = (((...r: [A]) => R) => CurriedFunction1) & - (((...r: [A, B]) => R) => CurriedFunction2) & - (((...r: [A, B, C]) => R) => CurriedFunction3) & - (( - (...r: [A, B, C, D]) => R - ) => CurriedFunction4) & - (( - (...r: [A, B, C, D, E]) => R - ) => CurriedFunction5) & - (( - (...r: [A, B, C, D, E, F]) => R - ) => CurriedFunction6); - - declare type UnaryFn = (a: A) => R; - - declare type TemplateSettings = { - escape?: RegExp, - evaluate?: RegExp, - imports?: Object, - interpolate?: RegExp, - variable?: string - }; - - declare type TruncateOptions = { - length?: number, - omission?: string, - separator?: RegExp | string - }; - - declare type DebounceOptions = { - leading?: boolean, - maxWait?: number, - trailing?: boolean - }; - - declare type ThrottleOptions = { - leading?: boolean, - trailing?: boolean - }; - - declare type NestedArray = Array>; - - declare type matchesIterateeShorthand = Object; - declare type matchesPropertyIterateeShorthand = [string, any]; - declare type propertyIterateeShorthand = string; - - declare type OPredicate = - | ((value: A, key: string, object: O) => any) - | matchesIterateeShorthand - | matchesPropertyIterateeShorthand - | propertyIterateeShorthand; - - declare type OIterateeWithResult = - | Object - | string - | ((value: V, key: string, object: O) => R); - declare type OIteratee = OIterateeWithResult; - declare type OFlatMapIteratee = OIterateeWithResult>; - - declare type Predicate = - | ((value: T, index: number, array: Array) => any) - | matchesIterateeShorthand - | matchesPropertyIterateeShorthand - | propertyIterateeShorthand; - - declare type _ValueOnlyIteratee = (value: T) => mixed; - declare type ValueOnlyIteratee = _ValueOnlyIteratee | string; - declare type _Iteratee = ( - item: T, - index: number, - array: ?Array - ) => mixed; - declare type Iteratee = _Iteratee | Object | string; - declare type FlatMapIteratee = - | ((item: T, index: number, array: ?Array) => Array) - | Object - | string; - declare type Comparator = (item: T, item2: T) => boolean; - - declare type MapIterator = - | ((item: T, index: number, array: Array) => U) - | propertyIterateeShorthand; - - declare type OMapIterator = - | ((item: T, key: string, object: O) => U) - | propertyIterateeShorthand; - - declare class Lodash { - // Array - chunk(array: ?Array, size?: number): Array>; - compact(array: Array): Array; - concat(base: Array, ...elements: Array): Array; - difference(array: ?Array, values?: Array): Array; - differenceBy( - array: ?Array, - values: Array, - iteratee: ValueOnlyIteratee - ): T[]; - differenceWith(array: T[], values: T[], comparator?: Comparator): T[]; - drop(array: ?Array, n?: number): Array; - dropRight(array: ?Array, n?: number): Array; - dropRightWhile(array: ?Array, predicate?: Predicate): Array; - dropWhile(array: ?Array, predicate?: Predicate): Array; - fill( - array: ?Array, - value: U, - start?: number, - end?: number - ): Array; - findIndex( - array: ?$ReadOnlyArray, - predicate?: Predicate, - fromIndex?: number - ): number; - findLastIndex( - array: ?$ReadOnlyArray, - predicate?: Predicate, - fromIndex?: number - ): number; - // alias of _.head - first(array: ?Array): T; - flatten(array: Array | X>): Array; - flattenDeep(array: any[]): Array; - flattenDepth(array: any[], depth?: number): any[]; - fromPairs(pairs: Array<[A, B]>): { [key: A]: B }; - head(array: ?Array): T; - indexOf(array: ?Array, value: T, fromIndex?: number): number; - initial(array: ?Array): Array; - intersection(...arrays: Array>): Array; - //Workaround until (...parameter: T, parameter2: U) works - intersectionBy(a1: Array, iteratee?: ValueOnlyIteratee): Array; - intersectionBy( - a1: Array, - a2: Array, - iteratee?: ValueOnlyIteratee - ): Array; - intersectionBy( - a1: Array, - a2: Array, - a3: Array, - iteratee?: ValueOnlyIteratee - ): Array; - intersectionBy( - a1: Array, - a2: Array, - a3: Array, - a4: Array, - iteratee?: ValueOnlyIteratee - ): Array; - //Workaround until (...parameter: T, parameter2: U) works - intersectionWith(a1: Array, comparator: Comparator): Array; - intersectionWith( - a1: Array, - a2: Array, - comparator: Comparator - ): Array; - intersectionWith( - a1: Array, - a2: Array, - a3: Array, - comparator: Comparator - ): Array; - intersectionWith( - a1: Array, - a2: Array, - a3: Array, - a4: Array, - comparator: Comparator - ): Array; - join(array: ?Array, separator?: string): string; - last(array: ?Array): T; - lastIndexOf(array: ?Array, value: T, fromIndex?: number): number; - nth(array: T[], n?: number): T; - pull(array: ?Array, ...values?: Array): Array; - pullAll(array: ?Array, values: Array): Array; - pullAllBy( - array: ?Array, - values: Array, - iteratee?: ValueOnlyIteratee - ): Array; - pullAllWith(array?: T[], values: T[], comparator?: Function): T[]; - pullAt(array: ?Array, ...indexed?: Array): Array; - pullAt(array: ?Array, indexed?: Array): Array; - remove(array: ?Array, predicate?: Predicate): Array; - reverse(array: ?Array): Array; - slice(array: ?Array, start?: number, end?: number): Array; - sortedIndex(array: ?Array, value: T): number; - sortedIndexBy( - array: ?Array, - value: T, - iteratee?: ValueOnlyIteratee - ): number; - sortedIndexOf(array: ?Array, value: T): number; - sortedLastIndex(array: ?Array, value: T): number; - sortedLastIndexBy( - array: ?Array, - value: T, - iteratee?: ValueOnlyIteratee - ): number; - sortedLastIndexOf(array: ?Array, value: T): number; - sortedUniq(array: ?Array): Array; - sortedUniqBy(array: ?Array, iteratee?: (value: T) => mixed): Array; - tail(array: ?Array): Array; - take(array: ?Array, n?: number): Array; - takeRight(array: ?Array, n?: number): Array; - takeRightWhile(array: ?Array, predicate?: Predicate): Array; - takeWhile(array: ?Array, predicate?: Predicate): Array; - union(...arrays?: Array>): Array; - //Workaround until (...parameter: T, parameter2: U) works - unionBy(a1: Array, iteratee?: ValueOnlyIteratee): Array; - unionBy( - a1: Array, - a2: Array, - iteratee?: ValueOnlyIteratee - ): Array; - unionBy( - a1: Array, - a2: Array, - a3: Array, - iteratee?: ValueOnlyIteratee - ): Array; - unionBy( - a1: Array, - a2: Array, - a3: Array, - a4: Array, - iteratee?: ValueOnlyIteratee - ): Array; - //Workaround until (...parameter: T, parameter2: U) works - unionWith(a1: Array, comparator?: Comparator): Array; - unionWith( - a1: Array, - a2: Array, - comparator?: Comparator - ): Array; - unionWith( - a1: Array, - a2: Array, - a3: Array, - comparator?: Comparator - ): Array; - unionWith( - a1: Array, - a2: Array, - a3: Array, - a4: Array, - comparator?: Comparator - ): Array; - uniq(array: ?Array): Array; - uniqBy(array: ?Array, iteratee?: ValueOnlyIteratee): Array; - uniqWith(array: ?Array, comparator?: Comparator): Array; - unzip(array: ?Array): Array; - unzipWith(array: ?Array, iteratee?: Iteratee): Array; - without(array: ?Array, ...values?: Array): Array; - xor(...array: Array>): Array; - //Workaround until (...parameter: T, parameter2: U) works - xorBy(a1: Array, iteratee?: ValueOnlyIteratee): Array; - xorBy( - a1: Array, - a2: Array, - iteratee?: ValueOnlyIteratee - ): Array; - xorBy( - a1: Array, - a2: Array, - a3: Array, - iteratee?: ValueOnlyIteratee - ): Array; - xorBy( - a1: Array, - a2: Array, - a3: Array, - a4: Array, - iteratee?: ValueOnlyIteratee - ): Array; - //Workaround until (...parameter: T, parameter2: U) works - xorWith(a1: Array, comparator?: Comparator): Array; - xorWith( - a1: Array, - a2: Array, - comparator?: Comparator - ): Array; - xorWith( - a1: Array, - a2: Array, - a3: Array, - comparator?: Comparator - ): Array; - xorWith( - a1: Array, - a2: Array, - a3: Array, - a4: Array, - comparator?: Comparator - ): Array; - zip(a1: A[], a2: B[]): Array<[A, B]>; - zip(a1: A[], a2: B[], a3: C[]): Array<[A, B, C]>; - zip(a1: A[], a2: B[], a3: C[], a4: D[]): Array<[A, B, C, D]>; - zip( - a1: A[], - a2: B[], - a3: C[], - a4: D[], - a5: E[] - ): Array<[A, B, C, D, E]>; - - zipObject(props?: Array, values?: Array): { [key: K]: V }; - zipObjectDeep(props?: any[], values?: any): Object; - //Workaround until (...parameter: T, parameter2: U) works - zipWith(a1: NestedArray, iteratee?: Iteratee): Array; - zipWith( - a1: NestedArray, - a2: NestedArray, - iteratee?: Iteratee - ): Array; - zipWith( - a1: NestedArray, - a2: NestedArray, - a3: NestedArray, - iteratee?: Iteratee - ): Array; - zipWith( - a1: NestedArray, - a2: NestedArray, - a3: NestedArray, - a4: NestedArray, - iteratee?: Iteratee - ): Array; - - // Collection - countBy(array: ?Array, iteratee?: ValueOnlyIteratee): Object; - countBy(object: T, iteratee?: ValueOnlyIteratee): Object; - // alias of _.forEach - each(array: ?Array, iteratee?: Iteratee): Array; - each(object: T, iteratee?: OIteratee): T; - // alias of _.forEachRight - eachRight(array: ?Array, iteratee?: Iteratee): Array; - eachRight(object: T, iteratee?: OIteratee): T; - every(array: ?Array, iteratee?: Iteratee): boolean; - every(object: T, iteratee?: OIteratee): boolean; - filter(array: ?Array, predicate?: Predicate): Array; - filter( - object: T, - predicate?: OPredicate - ): Array; - find( - array: ?$ReadOnlyArray, - predicate?: Predicate, - fromIndex?: number - ): T | void; - find( - object: T, - predicate?: OPredicate, - fromIndex?: number - ): V; - findLast( - array: ?$ReadOnlyArray, - predicate?: Predicate, - fromIndex?: number - ): T | void; - findLast( - object: T, - predicate?: OPredicate - ): V; - flatMap(array: ?Array, iteratee?: FlatMapIteratee): Array; - flatMap( - object: T, - iteratee?: OFlatMapIteratee - ): Array; - flatMapDeep( - array: ?Array, - iteratee?: FlatMapIteratee - ): Array; - flatMapDeep( - object: T, - iteratee?: OFlatMapIteratee - ): Array; - flatMapDepth( - array: ?Array, - iteratee?: FlatMapIteratee, - depth?: number - ): Array; - flatMapDepth( - object: T, - iteratee?: OFlatMapIteratee, - depth?: number - ): Array; - forEach(array: ?Array, iteratee?: Iteratee): Array; - forEach(object: T, iteratee?: OIteratee): T; - forEachRight(array: ?Array, iteratee?: Iteratee): Array; - forEachRight(object: T, iteratee?: OIteratee): T; - groupBy( - array: ?Array, - iteratee?: ValueOnlyIteratee - ): { [key: V]: Array }; - groupBy( - object: T, - iteratee?: ValueOnlyIteratee - ): { [key: V]: Array }; - includes(array: ?Array, value: T, fromIndex?: number): boolean; - includes(object: T, value: any, fromIndex?: number): boolean; - includes(str: string, value: string, fromIndex?: number): boolean; - invokeMap( - array: ?Array, - path: ((value: T) => Array | string) | Array | string, - ...args?: Array - ): Array; - invokeMap( - object: T, - path: ((value: any) => Array | string) | Array | string, - ...args?: Array - ): Array; - keyBy( - array: ?Array, - iteratee?: ValueOnlyIteratee - ): { [key: V]: ?T }; - keyBy( - object: T, - iteratee?: ValueOnlyIteratee - ): { [key: V]: ?A }; - map(array: ?Array, iteratee?: MapIterator): Array; - map( - object: ?T, - iteratee?: OMapIterator - ): Array; - map( - str: ?string, - iteratee?: (char: string, index: number, str: string) => any - ): string; - orderBy( - array: ?Array, - iteratees?: Array> | string, - orders?: Array<"asc" | "desc"> | string - ): Array; - orderBy( - object: T, - iteratees?: Array> | string, - orders?: Array<"asc" | "desc"> | string - ): Array; - partition( - array: ?Array, - predicate?: Predicate - ): [Array, Array]; - partition( - object: T, - predicate?: OPredicate - ): [Array, Array]; - reduce( - array: ?Array, - iteratee?: ( - accumulator: U, - value: T, - index: number, - array: ?Array - ) => U, - accumulator?: U - ): U; - reduce( - object: T, - iteratee?: (accumulator: U, value: any, key: string, object: T) => U, - accumulator?: U - ): U; - reduceRight( - array: ?Array, - iteratee?: ( - accumulator: U, - value: T, - index: number, - array: ?Array - ) => U, - accumulator?: U - ): U; - reduceRight( - object: T, - iteratee?: (accumulator: U, value: any, key: string, object: T) => U, - accumulator?: U - ): U; - reject(array: ?Array, predicate?: Predicate): Array; - reject( - object: T, - predicate?: OPredicate - ): Array; - sample(array: ?Array): T; - sample(object: T): V; - sampleSize(array: ?Array, n?: number): Array; - sampleSize(object: T, n?: number): Array; - shuffle(array: ?Array): Array; - shuffle(object: T): Array; - size(collection: Array | Object): number; - some(array: ?Array, predicate?: Predicate): boolean; - some( - object?: ?T, - predicate?: OPredicate - ): boolean; - sortBy(array: ?Array, ...iteratees?: Array>): Array; - sortBy(array: ?Array, iteratees?: Array>): Array; - sortBy( - object: T, - ...iteratees?: Array> - ): Array; - sortBy(object: T, iteratees?: Array>): Array; - - // Date - now(): number; - - // Function - after(n: number, fn: Function): Function; - ary(func: Function, n?: number): Function; - before(n: number, fn: Function): Function; - bind(func: Function, thisArg: any, ...partials: Array): Function; - bindKey(obj: Object, key: string, ...partials: Array): Function; - curry: Curry; - curry(func: Function, arity?: number): Function; - curryRight(func: Function, arity?: number): Function; - debounce(func: F, wait?: number, options?: DebounceOptions): F; - defer(func: Function, ...args?: Array): number; - delay(func: Function, wait: number, ...args?: Array): number; - flip(func: Function): Function; - memoize(func: F, resolver?: Function): F; - negate(predicate: Function): Function; - once(func: Function): Function; - overArgs(func: Function, ...transforms: Array): Function; - overArgs(func: Function, transforms: Array): Function; - partial(func: Function, ...partials: any[]): Function; - partialRight(func: Function, ...partials: Array): Function; - partialRight(func: Function, partials: Array): Function; - rearg(func: Function, ...indexes: Array): Function; - rearg(func: Function, indexes: Array): Function; - rest(func: Function, start?: number): Function; - spread(func: Function): Function; - throttle( - func: Function, - wait?: number, - options?: ThrottleOptions - ): Function; - unary(func: Function): Function; - wrap(value: any, wrapper: Function): Function; - - // Lang - castArray(value: *): any[]; - clone(value: T): T; - cloneDeep(value: T): T; - cloneDeepWith( - value: T, - customizer?: ?(value: T, key: number | string, object: T, stack: any) => U - ): U; - cloneWith( - value: T, - customizer?: ?(value: T, key: number | string, object: T, stack: any) => U - ): U; - conformsTo( - source: T, - predicates: T & { [key: string]: (x: any) => boolean } - ): boolean; - eq(value: any, other: any): boolean; - gt(value: any, other: any): boolean; - gte(value: any, other: any): boolean; - isArguments(value: any): boolean; - isArray(value: any): boolean; - isArrayBuffer(value: any): boolean; - isArrayLike(value: any): boolean; - isArrayLikeObject(value: any): boolean; - isBoolean(value: any): boolean; - isBuffer(value: any): boolean; - isDate(value: any): boolean; - isElement(value: any): boolean; - isEmpty(value: any): boolean; - isEqual(value: any, other: any): boolean; - isEqualWith( - value: T, - other: U, - customizer?: ( - objValue: any, - otherValue: any, - key: number | string, - object: T, - other: U, - stack: any - ) => boolean | void - ): boolean; - isError(value: any): boolean; - isFinite(value: any): boolean; - isFunction(value: Function): true; - isFunction(value: number | string | void | null | Object): false; - isInteger(value: any): boolean; - isLength(value: any): boolean; - isMap(value: any): boolean; - isMatch(object?: ?Object, source: Object): boolean; - isMatchWith( - object: T, - source: U, - customizer?: ( - objValue: any, - srcValue: any, - key: number | string, - object: T, - source: U - ) => boolean | void - ): boolean; - isNaN(value: any): boolean; - isNative(value: any): boolean; - isNil(value: any): boolean; - isNull(value: any): boolean; - isNumber(value: any): boolean; - isObject(value: any): boolean; - isObjectLike(value: any): boolean; - isPlainObject(value: any): boolean; - isRegExp(value: any): boolean; - isSafeInteger(value: any): boolean; - isSet(value: any): boolean; - isString(value: string): true; - isString( - value: number | boolean | Function | void | null | Object | Array - ): false; - isSymbol(value: any): boolean; - isTypedArray(value: any): boolean; - isUndefined(value: any): boolean; - isWeakMap(value: any): boolean; - isWeakSet(value: any): boolean; - lt(value: any, other: any): boolean; - lte(value: any, other: any): boolean; - toArray(value: any): Array; - toFinite(value: any): number; - toInteger(value: any): number; - toLength(value: any): number; - toNumber(value: any): number; - toPlainObject(value: any): Object; - toSafeInteger(value: any): number; - toString(value: any): string; - - // Math - add(augend: number, addend: number): number; - ceil(number: number, precision?: number): number; - divide(dividend: number, divisor: number): number; - floor(number: number, precision?: number): number; - max(array: ?Array): T; - maxBy(array: ?Array, iteratee?: Iteratee): T; - mean(array: Array<*>): number; - meanBy(array: Array, iteratee?: Iteratee): number; - min(array: ?Array): T; - minBy(array: ?Array, iteratee?: Iteratee): T; - multiply(multiplier: number, multiplicand: number): number; - round(number: number, precision?: number): number; - subtract(minuend: number, subtrahend: number): number; - sum(array: Array<*>): number; - sumBy(array: Array, iteratee?: Iteratee): number; - - // number - clamp(number: number, lower?: number, upper: number): number; - inRange(number: number, start?: number, end: number): boolean; - random(lower?: number, upper?: number, floating?: boolean): number; - - // Object - assign(object?: ?Object, ...sources?: Array): Object; - assignIn(a: A, b: B): A & B; - assignIn(a: A, b: B, c: C): A & B & C; - assignIn(a: A, b: B, c: C, d: D): A & B & C & D; - assignIn(a: A, b: B, c: C, d: D, e: E): A & B & C & D & E; - assignInWith( - object: T, - s1: A, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void - ): Object; - assignInWith( - object: T, - s1: A, - s2: B, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B - ) => any | void - ): Object; - assignInWith( - object: T, - s1: A, - s2: B, - s3: C, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B | C - ) => any | void - ): Object; - assignInWith( - object: T, - s1: A, - s2: B, - s3: C, - s4: D, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B | C | D - ) => any | void - ): Object; - assignWith( - object: T, - s1: A, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void - ): Object; - assignWith( - object: T, - s1: A, - s2: B, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B - ) => any | void - ): Object; - assignWith( - object: T, - s1: A, - s2: B, - s3: C, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B | C - ) => any | void - ): Object; - assignWith( - object: T, - s1: A, - s2: B, - s3: C, - s4: D, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B | C | D - ) => any | void - ): Object; - at(object?: ?Object, ...paths: Array): Array; - at(object?: ?Object, paths: Array): Array; - create(prototype: T, properties?: Object): $Supertype; - defaults(object?: ?Object, ...sources?: Array): Object; - defaultsDeep(object?: ?Object, ...sources?: Array): Object; - // alias for _.toPairs - entries(object?: ?Object): NestedArray; - // alias for _.toPairsIn - entriesIn(object?: ?Object): NestedArray; - // alias for _.assignIn - extend(a: A, b: B): A & B; - extend(a: A, b: B, c: C): A & B & C; - extend(a: A, b: B, c: C, d: D): A & B & C & D; - extend(a: A, b: B, c: C, d: D, e: E): A & B & C & D & E; - // alias for _.assignInWith - extendWith( - object: T, - s1: A, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void - ): Object; - extendWith( - object: T, - s1: A, - s2: B, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B - ) => any | void - ): Object; - extendWith( - object: T, - s1: A, - s2: B, - s3: C, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B | C - ) => any | void - ): Object; - extendWith( - object: T, - s1: A, - s2: B, - s3: C, - s4: D, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B | C | D - ) => any | void - ): Object; - findKey( - object?: ?T, - predicate?: OPredicate - ): string | void; - findLastKey( - object?: ?T, - predicate?: OPredicate - ): string | void; - forIn(object?: ?Object, iteratee?: OIteratee<*>): Object; - forInRight(object?: ?Object, iteratee?: OIteratee<*>): Object; - forOwn(object?: ?Object, iteratee?: OIteratee<*>): Object; - forOwnRight(object?: ?Object, iteratee?: OIteratee<*>): Object; - functions(object?: ?Object): Array; - functionsIn(object?: ?Object): Array; - get( - object?: ?Object | ?Array, - path?: ?Array | string, - defaultValue?: any - ): any; - has(object?: ?Object, path?: ?Array | string): boolean; - hasIn(object?: ?Object, path?: ?Array | string): boolean; - invert(object?: ?Object, multiVal?: boolean): Object; - invertBy(object: ?Object, iteratee?: Function): Object; - invoke( - object?: ?Object, - path?: ?Array | string, - ...args?: Array - ): any; - keys(object?: ?{ [key: K]: any }): Array; - keys(object?: ?Object): Array; - keysIn(object?: ?Object): Array; - mapKeys(object?: ?Object, iteratee?: OIteratee<*>): Object; - mapValues(object?: ?Object, iteratee?: OIteratee<*>): Object; - merge(object?: ?Object, ...sources?: Array): Object; - mergeWith( - object: T, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void - ): Object; - mergeWith( - object: T, - s1: A, - s2: B, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B - ) => any | void - ): Object; - mergeWith( - object: T, - s1: A, - s2: B, - s3: C, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B | C - ) => any | void - ): Object; - mergeWith( - object: T, - s1: A, - s2: B, - s3: C, - s4: D, - customizer?: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B | C | D - ) => any | void - ): Object; - omit(object?: ?Object, ...props: Array): Object; - omit(object?: ?Object, props: Array): Object; - omitBy( - object?: ?T, - predicate?: OPredicate - ): Object; - pick(object?: ?Object, ...props: Array): Object; - pick(object?: ?Object, props: Array): Object; - pickBy( - object?: ?T, - predicate?: OPredicate - ): Object; - result( - object?: ?Object, - path?: ?Array | string, - defaultValue?: any - ): any; - set(object?: ?Object, path?: ?Array | string, value: any): Object; - setWith( - object: T, - path?: ?Array | string, - value: any, - customizer?: (nsValue: any, key: string, nsObject: T) => any - ): Object; - toPairs(object?: ?Object | Array<*>): NestedArray; - toPairsIn(object?: ?Object): NestedArray; - transform( - collection: Object | Array, - iteratee?: OIteratee<*>, - accumulator?: any - ): any; - unset(object?: ?Object, path?: ?Array | string): boolean; - update(object: Object, path: string[] | string, updater: Function): Object; - updateWith( - object: Object, - path: string[] | string, - updater: Function, - customizer?: Function - ): Object; - values(object?: ?Object): Array; - valuesIn(object?: ?Object): Array; - - // Seq - // harder to read, but this is _() - (value: any): any; - chain(value: T): any; - tap(value: T, interceptor: (value: T) => any): T; - thru(value: T1, interceptor: (value: T1) => T2): T2; - // TODO: _.prototype.* - - // String - camelCase(string?: ?string): string; - capitalize(string?: string): string; - deburr(string?: string): string; - endsWith(string?: string, target?: string, position?: number): boolean; - escape(string?: string): string; - escapeRegExp(string?: string): string; - kebabCase(string?: string): string; - lowerCase(string?: string): string; - lowerFirst(string?: string): string; - pad(string?: string, length?: number, chars?: string): string; - padEnd(string?: string, length?: number, chars?: string): string; - padStart(string?: string, length?: number, chars?: string): string; - parseInt(string: string, radix?: number): number; - repeat(string?: string, n?: number): string; - replace( - string?: string, - pattern: RegExp | string, - replacement: ((string: string) => string) | string - ): string; - snakeCase(string?: string): string; - split( - string?: string, - separator: RegExp | string, - limit?: number - ): Array; - startCase(string?: string): string; - startsWith(string?: string, target?: string, position?: number): boolean; - template(string?: string, options?: TemplateSettings): Function; - toLower(string?: string): string; - toUpper(string?: string): string; - trim(string?: string, chars?: string): string; - trimEnd(string?: string, chars?: string): string; - trimStart(string?: string, chars?: string): string; - truncate(string?: string, options?: TruncateOptions): string; - unescape(string?: string): string; - upperCase(string?: string): string; - upperFirst(string?: string): string; - words(string?: string, pattern?: RegExp | string): Array; - - // Util - attempt(func: Function, ...args: Array): any; - bindAll(object?: ?Object, methodNames: Array): Object; - bindAll(object?: ?Object, ...methodNames: Array): Object; - cond(pairs: NestedArray): Function; - conforms(source: Object): Function; - constant(value: T): () => T; - defaultTo( - value: T1, - defaultValue: T2 - ): T1; - // NaN is a number instead of its own type, otherwise it would behave like null/void - defaultTo(value: T1, defaultValue: T2): T1 | T2; - defaultTo(value: T1, defaultValue: T2): T2; - flow: $ComposeReverse; - flow(funcs?: Array): Function; - flowRight: $Compose; - flowRight(funcs?: Array): Function; - identity(value: T): T; - iteratee(func?: any): Function; - matches(source: Object): Function; - matchesProperty(path?: ?Array | string, srcValue: any): Function; - method(path?: ?Array | string, ...args?: Array): Function; - methodOf(object?: ?Object, ...args?: Array): Function; - mixin( - object?: T, - source: Object, - options?: { chain: boolean } - ): T; - noConflict(): Lodash; - noop(...args: Array): void; - nthArg(n?: number): Function; - over(...iteratees: Array): Function; - over(iteratees: Array): Function; - overEvery(...predicates: Array): Function; - overEvery(predicates: Array): Function; - overSome(...predicates: Array): Function; - overSome(predicates: Array): Function; - property(path?: ?Array | string): Function; - propertyOf(object?: ?Object): Function; - range(start: number, end: number, step?: number): Array; - range(end: number, step?: number): Array; - rangeRight(start: number, end: number, step?: number): Array; - rangeRight(end: number, step?: number): Array; - runInContext(context?: Object): Function; - - stubArray(): Array<*>; - stubFalse(): false; - stubObject(): {}; - stubString(): ""; - stubTrue(): true; - times(n: number, ...rest: Array): Array; - times(n: number, iteratee: (i: number) => T): Array; - toPath(value: any): Array; - uniqueId(prefix?: string): string; - - // Properties - VERSION: string; - templateSettings: TemplateSettings; - } - - declare var exports: Lodash; -} - -declare module "lodash/fp" { - declare type __CurriedFunction1 = (...r: [AA]) => R; - declare type CurriedFunction1 = __CurriedFunction1; - - declare type __CurriedFunction2 = (( - ...r: [AA] - ) => CurriedFunction1) & - ((...r: [AA, BB]) => R); - declare type CurriedFunction2 = __CurriedFunction2; - - declare type __CurriedFunction3 = (( - ...r: [AA] - ) => CurriedFunction2) & - ((...r: [AA, BB]) => CurriedFunction1) & - ((...r: [AA, BB, CC]) => R); - declare type CurriedFunction3 = __CurriedFunction3< - A, - B, - C, - R, - *, - *, - * - >; - - declare type __CurriedFunction4< - A, - B, - C, - D, - R, - AA: A, - BB: B, - CC: C, - DD: D - > = ((...r: [AA]) => CurriedFunction3) & - ((...r: [AA, BB]) => CurriedFunction2) & - ((...r: [AA, BB, CC]) => CurriedFunction1) & - ((...r: [AA, BB, CC, DD]) => R); - declare type CurriedFunction4 = __CurriedFunction4< - A, - B, - C, - D, - R, - *, - *, - *, - * - >; - - declare type __CurriedFunction5< - A, - B, - C, - D, - E, - R, - AA: A, - BB: B, - CC: C, - DD: D, - EE: E - > = ((...r: [AA]) => CurriedFunction4) & - ((...r: [AA, BB]) => CurriedFunction3) & - ((...r: [AA, BB, CC]) => CurriedFunction2) & - ((...r: [AA, BB, CC, DD]) => CurriedFunction1) & - ((...r: [AA, BB, CC, DD, EE]) => R); - declare type CurriedFunction5 = __CurriedFunction5< - A, - B, - C, - D, - E, - R, - *, - *, - *, - *, - * - >; - - declare type __CurriedFunction6< - A, - B, - C, - D, - E, - F, - R, - AA: A, - BB: B, - CC: C, - DD: D, - EE: E, - FF: F - > = ((...r: [AA]) => CurriedFunction5) & - ((...r: [AA, BB]) => CurriedFunction4) & - ((...r: [AA, BB, CC]) => CurriedFunction3) & - ((...r: [AA, BB, CC, DD]) => CurriedFunction2) & - ((...r: [AA, BB, CC, DD, EE]) => CurriedFunction1) & - ((...r: [AA, BB, CC, DD, EE, FF]) => R); - declare type CurriedFunction6 = __CurriedFunction6< - A, - B, - C, - D, - E, - F, - R, - *, - *, - *, - *, - *, - * - >; - - declare type Curry = (((...r: [A]) => R) => CurriedFunction1) & - (((...r: [A, B]) => R) => CurriedFunction2) & - (((...r: [A, B, C]) => R) => CurriedFunction3) & - (( - (...r: [A, B, C, D]) => R - ) => CurriedFunction4) & - (( - (...r: [A, B, C, D, E]) => R - ) => CurriedFunction5) & - (( - (...r: [A, B, C, D, E, F]) => R - ) => CurriedFunction6); - - declare type UnaryFn = (a: A) => R; - - declare type TemplateSettings = { - escape?: RegExp, - evaluate?: RegExp, - imports?: Object, - interpolate?: RegExp, - variable?: string - }; - - declare type TruncateOptions = { - length?: number, - omission?: string, - separator?: RegExp | string - }; - - declare type DebounceOptions = { - leading?: boolean, - maxWait?: number, - trailing?: boolean - }; - - declare type ThrottleOptions = { - leading?: boolean, - trailing?: boolean - }; - - declare type NestedArray = Array>; - - declare type matchesIterateeShorthand = Object; - declare type matchesPropertyIterateeShorthand = [string, any]; - declare type propertyIterateeShorthand = string; - - declare type OPredicate = - | ((value: A) => any) - | matchesIterateeShorthand - | matchesPropertyIterateeShorthand - | propertyIterateeShorthand; - - declare type OIterateeWithResult = Object | string | ((value: V) => R); - declare type OIteratee = OIterateeWithResult; - declare type OFlatMapIteratee = OIterateeWithResult>; - - declare type Predicate = - | ((value: T) => any) - | matchesIterateeShorthand - | matchesPropertyIterateeShorthand - | propertyIterateeShorthand; - - declare type _ValueOnlyIteratee = (value: T) => mixed; - declare type ValueOnlyIteratee = _ValueOnlyIteratee | string; - declare type _Iteratee = (item: T) => mixed; - declare type Iteratee = _Iteratee | Object | string; - declare type FlatMapIteratee = - | ((item: T) => Array) - | Object - | string; - declare type Comparator = (item: T, item2: T) => boolean; - - declare type MapIterator = ((item: T) => U) | propertyIterateeShorthand; - - declare type OMapIterator = - | ((item: T) => U) - | propertyIterateeShorthand; - - declare class Lodash { - // Array - chunk(size: number): (array: Array) => Array>; - chunk(size: number, array: Array): Array>; - compact(array: Array): Array; - concat | T, B: Array | U>( - base: A - ): (elements: B) => Array; - concat | T, B: Array | U>( - base: A, - elements: B - ): Array; - difference(values: Array): (array: Array) => Array; - difference(values: Array, array: Array): Array; - differenceBy( - iteratee: ValueOnlyIteratee - ): ((values: Array) => (array: Array) => T[]) & - ((values: Array, array: Array) => T[]); - differenceBy( - iteratee: ValueOnlyIteratee, - values: Array - ): (array: Array) => T[]; - differenceBy( - iteratee: ValueOnlyIteratee, - values: Array, - array: Array - ): T[]; - differenceWith( - values: T[] - ): ((comparator: Comparator) => (array: T[]) => T[]) & - ((comparator: Comparator, array: T[]) => T[]); - differenceWith( - values: T[], - comparator: Comparator - ): (array: T[]) => T[]; - differenceWith(values: T[], comparator: Comparator, array: T[]): T[]; - drop(n: number): (array: Array) => Array; - drop(n: number, array: Array): Array; - dropLast(n: number): (array: Array) => Array; - dropLast(n: number, array: Array): Array; - dropRight(n: number): (array: Array) => Array; - dropRight(n: number, array: Array): Array; - dropRightWhile(predicate: Predicate): (array: Array) => Array; - dropRightWhile(predicate: Predicate, array: Array): Array; - dropWhile(predicate: Predicate): (array: Array) => Array; - dropWhile(predicate: Predicate, array: Array): Array; - dropLastWhile(predicate: Predicate): (array: Array) => Array; - dropLastWhile(predicate: Predicate, array: Array): Array; - fill( - start: number - ): (( - end: number - ) => ((value: U) => (array: Array) => Array) & - ((value: U, array: Array) => Array)) & - ((end: number, value: U) => (array: Array) => Array) & - ((end: number, value: U, array: Array) => Array); - fill( - start: number, - end: number - ): ((value: U) => (array: Array) => Array) & - ((value: U, array: Array) => Array); - fill( - start: number, - end: number, - value: U - ): (array: Array) => Array; - fill( - start: number, - end: number, - value: U, - array: Array - ): Array; - findIndex(predicate: Predicate): (array: $ReadOnlyArray) => number; - findIndex(predicate: Predicate, array: $ReadOnlyArray): number; - findIndexFrom( - predicate: Predicate - ): ((fromIndex: number) => (array: $ReadOnlyArray) => number) & - ((fromIndex: number, array: $ReadOnlyArray) => number); - findIndexFrom( - predicate: Predicate, - fromIndex: number - ): (array: $ReadOnlyArray) => number; - findIndexFrom( - predicate: Predicate, - fromIndex: number, - array: $ReadOnlyArray - ): number; - findLastIndex( - predicate: Predicate - ): (array: $ReadOnlyArray) => number; - findLastIndex(predicate: Predicate, array: $ReadOnlyArray): number; - findLastIndexFrom( - predicate: Predicate - ): ((fromIndex: number) => (array: $ReadOnlyArray) => number) & - ((fromIndex: number, array: $ReadOnlyArray) => number); - findLastIndexFrom( - predicate: Predicate, - fromIndex: number - ): (array: $ReadOnlyArray) => number; - findLastIndexFrom( - predicate: Predicate, - fromIndex: number, - array: $ReadOnlyArray - ): number; - // alias of _.head - first(array: Array): T; - flatten(array: Array | X>): Array; - unnest(array: Array | X>): Array; - flattenDeep(array: any[]): Array; - flattenDepth(depth: number): (array: any[]) => any[]; - flattenDepth(depth: number, array: any[]): any[]; - fromPairs(pairs: Array<[A, B]>): { [key: A]: B }; - head(array: Array): T; - indexOf(value: T): (array: Array) => number; - indexOf(value: T, array: Array): number; - indexOfFrom( - value: T - ): ((fromIndex: number) => (array: Array) => number) & - ((fromIndex: number, array: Array) => number); - indexOfFrom(value: T, fromIndex: number): (array: Array) => number; - indexOfFrom(value: T, fromIndex: number, array: Array): number; - initial(array: Array): Array; - init(array: Array): Array; - intersection(a1: Array): (a2: Array) => Array; - intersection(a1: Array, a2: Array): Array; - intersectionBy( - iteratee: ValueOnlyIteratee - ): ((a1: Array) => (a2: Array) => Array) & - ((a1: Array, a2: Array) => Array); - intersectionBy( - iteratee: ValueOnlyIteratee, - a1: Array - ): (a2: Array) => Array; - intersectionBy( - iteratee: ValueOnlyIteratee, - a1: Array, - a2: Array - ): Array; - intersectionWith( - comparator: Comparator - ): ((a1: Array) => (a2: Array) => Array) & - ((a1: Array, a2: Array) => Array); - intersectionWith( - comparator: Comparator, - a1: Array - ): (a2: Array) => Array; - intersectionWith( - comparator: Comparator, - a1: Array, - a2: Array - ): Array; - join(separator: string): (array: Array) => string; - join(separator: string, array: Array): string; - last(array: Array): T; - lastIndexOf(value: T): (array: Array) => number; - lastIndexOf(value: T, array: Array): number; - lastIndexOfFrom( - value: T - ): ((fromIndex: number) => (array: Array) => number) & - ((fromIndex: number, array: Array) => number); - lastIndexOfFrom( - value: T, - fromIndex: number - ): (array: Array) => number; - lastIndexOfFrom(value: T, fromIndex: number, array: Array): number; - nth(n: number): (array: T[]) => T; - nth(n: number, array: T[]): T; - pull(value: T): (array: Array) => Array; - pull(value: T, array: Array): Array; - pullAll(values: Array): (array: Array) => Array; - pullAll(values: Array, array: Array): Array; - pullAllBy( - iteratee: ValueOnlyIteratee - ): ((values: Array) => (array: Array) => Array) & - ((values: Array, array: Array) => Array); - pullAllBy( - iteratee: ValueOnlyIteratee, - values: Array - ): (array: Array) => Array; - pullAllBy( - iteratee: ValueOnlyIteratee, - values: Array, - array: Array - ): Array; - pullAllWith( - comparator: Function - ): ((values: T[]) => (array: T[]) => T[]) & - ((values: T[], array: T[]) => T[]); - pullAllWith(comparator: Function, values: T[]): (array: T[]) => T[]; - pullAllWith(comparator: Function, values: T[], array: T[]): T[]; - pullAt(indexed: Array): (array: Array) => Array; - pullAt(indexed: Array, array: Array): Array; - remove(predicate: Predicate): (array: Array) => Array; - remove(predicate: Predicate, array: Array): Array; - reverse(array: Array): Array; - slice( - start: number - ): ((end: number) => (array: Array) => Array) & - ((end: number, array: Array) => Array); - slice(start: number, end: number): (array: Array) => Array; - slice(start: number, end: number, array: Array): Array; - sortedIndex(value: T): (array: Array) => number; - sortedIndex(value: T, array: Array): number; - sortedIndexBy( - iteratee: ValueOnlyIteratee - ): ((value: T) => (array: Array) => number) & - ((value: T, array: Array) => number); - sortedIndexBy( - iteratee: ValueOnlyIteratee, - value: T - ): (array: Array) => number; - sortedIndexBy( - iteratee: ValueOnlyIteratee, - value: T, - array: Array - ): number; - sortedIndexOf(value: T): (array: Array) => number; - sortedIndexOf(value: T, array: Array): number; - sortedLastIndex(value: T): (array: Array) => number; - sortedLastIndex(value: T, array: Array): number; - sortedLastIndexBy( - iteratee: ValueOnlyIteratee - ): ((value: T) => (array: Array) => number) & - ((value: T, array: Array) => number); - sortedLastIndexBy( - iteratee: ValueOnlyIteratee, - value: T - ): (array: Array) => number; - sortedLastIndexBy( - iteratee: ValueOnlyIteratee, - value: T, - array: Array - ): number; - sortedLastIndexOf(value: T): (array: Array) => number; - sortedLastIndexOf(value: T, array: Array): number; - sortedUniq(array: Array): Array; - sortedUniqBy( - iteratee: (value: T) => mixed - ): (array: Array) => Array; - sortedUniqBy(iteratee: (value: T) => mixed, array: Array): Array; - tail(array: Array): Array; - take(n: number): (array: Array) => Array; - take(n: number, array: Array): Array; - takeRight(n: number): (array: Array) => Array; - takeRight(n: number, array: Array): Array; - takeLast(n: number): (array: Array) => Array; - takeLast(n: number, array: Array): Array; - takeRightWhile(predicate: Predicate): (array: Array) => Array; - takeRightWhile(predicate: Predicate, array: Array): Array; - takeLastWhile(predicate: Predicate): (array: Array) => Array; - takeLastWhile(predicate: Predicate, array: Array): Array; - takeWhile(predicate: Predicate): (array: Array) => Array; - takeWhile(predicate: Predicate, array: Array): Array; - union(a1: Array): (a2: Array) => Array; - union(a1: Array, a2: Array): Array; - unionBy( - iteratee: ValueOnlyIteratee - ): ((a1: Array) => (a2: Array) => Array) & - ((a1: Array, a2: Array) => Array); - unionBy( - iteratee: ValueOnlyIteratee, - a1: Array - ): (a2: Array) => Array; - unionBy( - iteratee: ValueOnlyIteratee, - a1: Array, - a2: Array - ): Array; - unionWith( - comparator: Comparator - ): ((a1: Array) => (a2: Array) => Array) & - ((a1: Array, a2: Array) => Array); - unionWith( - comparator: Comparator, - a1: Array - ): (a2: Array) => Array; - unionWith( - comparator: Comparator, - a1: Array, - a2: Array - ): Array; - uniq(array: Array): Array; - uniqBy(iteratee: ValueOnlyIteratee): (array: Array) => Array; - uniqBy(iteratee: ValueOnlyIteratee, array: Array): Array; - uniqWith(comparator: Comparator): (array: Array) => Array; - uniqWith(comparator: Comparator, array: Array): Array; - unzip(array: Array): Array; - unzipWith(iteratee: Iteratee): (array: Array) => Array; - unzipWith(iteratee: Iteratee, array: Array): Array; - without(values: Array): (array: Array) => Array; - without(values: Array, array: Array): Array; - xor(a1: Array): (a2: Array) => Array; - xor(a1: Array, a2: Array): Array; - symmetricDifference(a1: Array): (a2: Array) => Array; - symmetricDifference(a1: Array, a2: Array): Array; - xorBy( - iteratee: ValueOnlyIteratee - ): ((a1: Array) => (a2: Array) => Array) & - ((a1: Array, a2: Array) => Array); - xorBy( - iteratee: ValueOnlyIteratee, - a1: Array - ): (a2: Array) => Array; - xorBy( - iteratee: ValueOnlyIteratee, - a1: Array, - a2: Array - ): Array; - symmetricDifferenceBy( - iteratee: ValueOnlyIteratee - ): ((a1: Array) => (a2: Array) => Array) & - ((a1: Array, a2: Array) => Array); - symmetricDifferenceBy( - iteratee: ValueOnlyIteratee, - a1: Array - ): (a2: Array) => Array; - symmetricDifferenceBy( - iteratee: ValueOnlyIteratee, - a1: Array, - a2: Array - ): Array; - xorWith( - comparator: Comparator - ): ((a1: Array) => (a2: Array) => Array) & - ((a1: Array, a2: Array) => Array); - xorWith( - comparator: Comparator, - a1: Array - ): (a2: Array) => Array; - xorWith(comparator: Comparator, a1: Array, a2: Array): Array; - symmetricDifferenceWith( - comparator: Comparator - ): ((a1: Array) => (a2: Array) => Array) & - ((a1: Array, a2: Array) => Array); - symmetricDifferenceWith( - comparator: Comparator, - a1: Array - ): (a2: Array) => Array; - symmetricDifferenceWith( - comparator: Comparator, - a1: Array, - a2: Array - ): Array; - zip(a1: A[]): (a2: B[]) => Array<[A, B]>; - zip(a1: A[], a2: B[]): Array<[A, B]>; - zipAll(arrays: Array>): Array; - zipObject(props?: Array): (values?: Array) => { [key: K]: V }; - zipObject(props?: Array, values?: Array): { [key: K]: V }; - zipObj(props: Array): (values: Array) => Object; - zipObj(props: Array, values: Array): Object; - zipObjectDeep(props: any[]): (values: any) => Object; - zipObjectDeep(props: any[], values: any): Object; - zipWith( - iteratee: Iteratee - ): ((a1: NestedArray) => (a2: NestedArray) => Array) & - ((a1: NestedArray, a2: NestedArray) => Array); - zipWith( - iteratee: Iteratee, - a1: NestedArray - ): (a2: NestedArray) => Array; - zipWith( - iteratee: Iteratee, - a1: NestedArray, - a2: NestedArray - ): Array; - // Collection - countBy( - iteratee: ValueOnlyIteratee - ): (collection: Array | { [id: any]: T }) => { [string]: number }; - countBy( - iteratee: ValueOnlyIteratee, - collection: Array | { [id: any]: T } - ): { [string]: number }; - // alias of _.forEach - each( - iteratee: Iteratee | OIteratee - ): (collection: Array | { [id: any]: T }) => Array; - each( - iteratee: Iteratee | OIteratee, - collection: Array | { [id: any]: T } - ): Array; - // alias of _.forEachRight - eachRight( - iteratee: Iteratee | OIteratee - ): (collection: Array | { [id: any]: T }) => Array; - eachRight( - iteratee: Iteratee | OIteratee, - collection: Array | { [id: any]: T } - ): Array; - every( - iteratee: Iteratee | OIteratee - ): (collection: Array | { [id: any]: T }) => boolean; - every( - iteratee: Iteratee | OIteratee, - collection: Array | { [id: any]: T } - ): boolean; - all( - iteratee: Iteratee | OIteratee - ): (collection: Array | { [id: any]: T }) => boolean; - all( - iteratee: Iteratee | OIteratee, - collection: Array | { [id: any]: T } - ): boolean; - filter( - predicate: Predicate | OPredicate - ): (collection: Array | { [id: any]: T }) => Array; - filter( - predicate: Predicate | OPredicate, - collection: Array | { [id: any]: T } - ): Array; - find( - predicate: Predicate | OPredicate - ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; - find( - predicate: Predicate | OPredicate, - collection: $ReadOnlyArray | { [id: any]: T } - ): T | void; - findFrom( - predicate: Predicate | OPredicate - ): (( - fromIndex: number - ) => (collection: $ReadOnlyArray | { [id: any]: T }) => T | void) & - (( - fromIndex: number, - collection: $ReadOnlyArray | { [id: any]: T } - ) => T | void); - findFrom( - predicate: Predicate | OPredicate, - fromIndex: number - ): (collection: Array | { [id: any]: T }) => T | void; - findFrom( - predicate: Predicate | OPredicate, - fromIndex: number, - collection: $ReadOnlyArray | { [id: any]: T } - ): T | void; - findLast( - predicate: Predicate | OPredicate - ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; - findLast( - predicate: Predicate | OPredicate, - collection: $ReadOnlyArray | { [id: any]: T } - ): T | void; - findLastFrom( - predicate: Predicate | OPredicate - ): (( - fromIndex: number - ) => (collection: $ReadOnlyArray | { [id: any]: T }) => T | void) & - (( - fromIndex: number, - collection: $ReadOnlyArray | { [id: any]: T } - ) => T | void); - findLastFrom( - predicate: Predicate | OPredicate, - fromIndex: number - ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; - findLastFrom( - predicate: Predicate | OPredicate, - fromIndex: number, - collection: $ReadOnlyArray | { [id: any]: T } - ): T | void; - flatMap( - iteratee: FlatMapIteratee | OFlatMapIteratee - ): (collection: Array | { [id: any]: T }) => Array; - flatMap( - iteratee: FlatMapIteratee | OFlatMapIteratee, - collection: Array | { [id: any]: T } - ): Array; - flatMapDeep( - iteratee: FlatMapIteratee | OFlatMapIteratee - ): (collection: Array | { [id: any]: T }) => Array; - flatMapDeep( - iteratee: FlatMapIteratee | OFlatMapIteratee, - collection: Array | { [id: any]: T } - ): Array; - flatMapDepth( - iteratee: FlatMapIteratee | OFlatMapIteratee - ): (( - depth: number - ) => (collection: Array | { [id: any]: T }) => Array) & - ((depth: number, collection: Array | { [id: any]: T }) => Array); - flatMapDepth( - iteratee: FlatMapIteratee | OFlatMapIteratee, - depth: number - ): (collection: Array | { [id: any]: T }) => Array; - flatMapDepth( - iteratee: FlatMapIteratee | OFlatMapIteratee, - depth: number, - collection: Array | { [id: any]: T } - ): Array; - forEach( - iteratee: Iteratee | OIteratee - ): (collection: Array | { [id: any]: T }) => Array; - forEach( - iteratee: Iteratee | OIteratee, - collection: Array | { [id: any]: T } - ): Array; - forEachRight( - iteratee: Iteratee | OIteratee - ): (collection: Array | { [id: any]: T }) => Array; - forEachRight( - iteratee: Iteratee | OIteratee, - collection: Array | { [id: any]: T } - ): Array; - groupBy( - iteratee: ValueOnlyIteratee - ): (collection: Array | { [id: any]: T }) => { [key: V]: Array }; - groupBy( - iteratee: ValueOnlyIteratee, - collection: Array | { [id: any]: T } - ): { [key: V]: Array }; - includes(value: string): (str: string) => boolean; - includes(value: string, str: string): boolean; - includes(value: T): (collection: Array | { [id: any]: T }) => boolean; - includes(value: T, collection: Array | { [id: any]: T }): boolean; - contains(value: string): (str: string) => boolean; - contains(value: string, str: string): boolean; - contains(value: T): (collection: Array | { [id: any]: T }) => boolean; - contains(value: T, collection: Array | { [id: any]: T }): boolean; - includesFrom( - value: string - ): ((fromIndex: number) => (str: string) => boolean) & - ((fromIndex: number, str: string) => boolean); - includesFrom(value: string, fromIndex: number): (str: string) => boolean; - includesFrom(value: string, fromIndex: number, str: string): boolean; - includesFrom( - value: T - ): ((fromIndex: number) => (collection: Array) => boolean) & - ((fromIndex: number, collection: Array) => boolean); - includesFrom( - value: T, - fromIndex: number - ): (collection: Array) => boolean; - includesFrom(value: T, fromIndex: number, collection: Array): boolean; - invokeMap( - path: ((value: T) => Array | string) | Array | string - ): (collection: Array | { [id: any]: T }) => Array; - invokeMap( - path: ((value: T) => Array | string) | Array | string, - collection: Array | { [id: any]: T } - ): Array; - invokeArgsMap( - path: ((value: T) => Array | string) | Array | string - ): (( - collection: Array | { [id: any]: T } - ) => (args: Array) => Array) & - (( - collection: Array | { [id: any]: T }, - args: Array - ) => Array); - invokeArgsMap( - path: ((value: T) => Array | string) | Array | string, - collection: Array | { [id: any]: T } - ): (args: Array) => Array; - invokeArgsMap( - path: ((value: T) => Array | string) | Array | string, - collection: Array | { [id: any]: T }, - args: Array - ): Array; - keyBy( - iteratee: ValueOnlyIteratee - ): (collection: Array | { [id: any]: T }) => { [key: V]: T }; - keyBy( - iteratee: ValueOnlyIteratee, - collection: Array | { [id: any]: T } - ): { [key: V]: T }; - indexBy( - iteratee: ValueOnlyIteratee - ): (collection: Array | { [id: any]: T }) => { [key: V]: T }; - indexBy( - iteratee: ValueOnlyIteratee, - collection: Array | { [id: any]: T } - ): { [key: V]: T }; - map( - iteratee: MapIterator | OMapIterator - ): (collection: Array | { [id: any]: T }) => Array; - map( - iteratee: MapIterator | OMapIterator, - collection: Array | { [id: any]: T } - ): Array; - map(iteratee: (char: string) => any): (str: string) => string; - map(iteratee: (char: string) => any, str: string): string; - pluck( - iteratee: MapIterator | OMapIterator - ): (collection: Array | { [id: any]: T }) => Array; - pluck( - iteratee: MapIterator | OMapIterator, - collection: Array | { [id: any]: T } - ): Array; - pluck(iteratee: (char: string) => any): (str: string) => string; - pluck(iteratee: (char: string) => any, str: string): string; - orderBy( - iteratees: Array | OIteratee<*>> | string - ): (( - orders: Array<"asc" | "desc"> | string - ) => (collection: Array | { [id: any]: T }) => Array) & - (( - orders: Array<"asc" | "desc"> | string, - collection: Array | { [id: any]: T } - ) => Array); - orderBy( - iteratees: Array | OIteratee<*>> | string, - orders: Array<"asc" | "desc"> | string - ): (collection: Array | { [id: any]: T }) => Array; - orderBy( - iteratees: Array | OIteratee<*>> | string, - orders: Array<"asc" | "desc"> | string, - collection: Array | { [id: any]: T } - ): Array; - partition( - predicate: Predicate | OPredicate - ): (collection: Array | { [id: any]: T }) => [Array, Array]; - partition( - predicate: Predicate | OPredicate, - collection: Array | { [id: any]: T } - ): [Array, Array]; - reduce( - iteratee: (accumulator: U, value: T) => U - ): ((accumulator: U) => (collection: Array | { [id: any]: T }) => U) & - ((accumulator: U, collection: Array | { [id: any]: T }) => U); - reduce( - iteratee: (accumulator: U, value: T) => U, - accumulator: U - ): (collection: Array | { [id: any]: T }) => U; - reduce( - iteratee: (accumulator: U, value: T) => U, - accumulator: U, - collection: Array | { [id: any]: T } - ): U; - reduceRight( - iteratee: (value: T, accumulator: U) => U - ): ((accumulator: U) => (collection: Array | { [id: any]: T }) => U) & - ((accumulator: U, collection: Array | { [id: any]: T }) => U); - reduceRight( - iteratee: (value: T, accumulator: U) => U, - accumulator: U - ): (collection: Array | { [id: any]: T }) => U; - reduceRight( - iteratee: (value: T, accumulator: U) => U, - accumulator: U, - collection: Array | { [id: any]: T } - ): U; - reject( - predicate: Predicate | OPredicate - ): (collection: Array | { [id: any]: T }) => Array; - reject( - predicate: Predicate | OPredicate, - collection: Array | { [id: any]: T } - ): Array; - sample(collection: Array | { [id: any]: T }): T; - sampleSize( - n: number - ): (collection: Array | { [id: any]: T }) => Array; - sampleSize(n: number, collection: Array | { [id: any]: T }): Array; - shuffle(collection: Array | { [id: any]: T }): Array; - size(collection: Array | Object): number; - some( - predicate: Predicate | OPredicate - ): (collection: Array | { [id: any]: T }) => boolean; - some( - predicate: Predicate | OPredicate, - collection: Array | { [id: any]: T } - ): boolean; - any( - predicate: Predicate | OPredicate - ): (collection: Array | { [id: any]: T }) => boolean; - any( - predicate: Predicate | OPredicate, - collection: Array | { [id: any]: T } - ): boolean; - sortBy( - iteratees: Array | OIteratee> | Iteratee | OIteratee - ): (collection: Array | { [id: any]: T }) => Array; - sortBy( - iteratees: Array | OIteratee> | Iteratee | OIteratee, - collection: Array | { [id: any]: T } - ): Array; - - // Date - now(): number; - - // Function - after(fn: Function): (n: number) => Function; - after(fn: Function, n: number): Function; - ary(func: Function): Function; - nAry(n: number): (func: Function) => Function; - nAry(n: number, func: Function): Function; - before(fn: Function): (n: number) => Function; - before(fn: Function, n: number): Function; - bind(func: Function): (thisArg: any) => Function; - bind(func: Function, thisArg: any): Function; - bindKey(obj: Object): (key: string) => Function; - bindKey(obj: Object, key: string): Function; - curry: Curry; - curryN(arity: number): (func: Function) => Function; - curryN(arity: number, func: Function): Function; - curryRight(func: Function): Function; - curryRightN(arity: number): (func: Function) => Function; - curryRightN(arity: number, func: Function): Function; - debounce(wait: number): (func: F) => F; - debounce(wait: number, func: F): F; - defer(func: Function): number; - delay(wait: number): (func: Function) => number; - delay(wait: number, func: Function): number; - flip(func: Function): Function; - memoize(func: F): F; - negate(predicate: Function): Function; - complement(predicate: Function): Function; - once(func: Function): Function; - overArgs(func: Function): (transforms: Array) => Function; - overArgs(func: Function, transforms: Array): Function; - useWith(func: Function): (transforms: Array) => Function; - useWith(func: Function, transforms: Array): Function; - partial(func: Function): (partials: any[]) => Function; - partial(func: Function, partials: any[]): Function; - partialRight(func: Function): (partials: Array) => Function; - partialRight(func: Function, partials: Array): Function; - rearg(indexes: Array): (func: Function) => Function; - rearg(indexes: Array, func: Function): Function; - rest(func: Function): Function; - unapply(func: Function): Function; - restFrom(start: number): (func: Function) => Function; - restFrom(start: number, func: Function): Function; - spread(func: Function): Function; - apply(func: Function): Function; - spreadFrom(start: number): (func: Function) => Function; - spreadFrom(start: number, func: Function): Function; - throttle(wait: number): (func: Function) => Function; - throttle(wait: number, func: Function): Function; - unary(func: Function): Function; - wrap(wrapper: Function): (value: any) => Function; - wrap(wrapper: Function, value: any): Function; - - // Lang - castArray(value: *): any[]; - clone(value: T): T; - cloneDeep(value: T): T; - cloneDeepWith( - customizer: (value: T, key: number | string, object: T, stack: any) => U - ): (value: T) => U; - cloneDeepWith( - customizer: (value: T, key: number | string, object: T, stack: any) => U, - value: T - ): U; - cloneWith( - customizer: (value: T, key: number | string, object: T, stack: any) => U - ): (value: T) => U; - cloneWith( - customizer: (value: T, key: number | string, object: T, stack: any) => U, - value: T - ): U; - conformsTo( - predicates: T & { [key: string]: (x: any) => boolean } - ): (source: T) => boolean; - conformsTo( - predicates: T & { [key: string]: (x: any) => boolean }, - source: T - ): boolean; - where( - predicates: T & { [key: string]: (x: any) => boolean } - ): (source: T) => boolean; - where( - predicates: T & { [key: string]: (x: any) => boolean }, - source: T - ): boolean; - conforms( - predicates: T & { [key: string]: (x: any) => boolean } - ): (source: T) => boolean; - conforms( - predicates: T & { [key: string]: (x: any) => boolean }, - source: T - ): boolean; - eq(value: any): (other: any) => boolean; - eq(value: any, other: any): boolean; - identical(value: any): (other: any) => boolean; - identical(value: any, other: any): boolean; - gt(value: any): (other: any) => boolean; - gt(value: any, other: any): boolean; - gte(value: any): (other: any) => boolean; - gte(value: any, other: any): boolean; - isArguments(value: any): boolean; - isArray(value: any): boolean; - isArrayBuffer(value: any): boolean; - isArrayLike(value: any): boolean; - isArrayLikeObject(value: any): boolean; - isBoolean(value: any): boolean; - isBuffer(value: any): boolean; - isDate(value: any): boolean; - isElement(value: any): boolean; - isEmpty(value: any): boolean; - isEqual(value: any): (other: any) => boolean; - isEqual(value: any, other: any): boolean; - equals(value: any): (other: any) => boolean; - equals(value: any, other: any): boolean; - isEqualWith( - customizer: ( - objValue: any, - otherValue: any, - key: number | string, - object: T, - other: U, - stack: any - ) => boolean | void - ): ((value: T) => (other: U) => boolean) & - ((value: T, other: U) => boolean); - isEqualWith( - customizer: ( - objValue: any, - otherValue: any, - key: number | string, - object: T, - other: U, - stack: any - ) => boolean | void, - value: T - ): (other: U) => boolean; - isEqualWith( - customizer: ( - objValue: any, - otherValue: any, - key: number | string, - object: T, - other: U, - stack: any - ) => boolean | void, - value: T, - other: U - ): boolean; - isError(value: any): boolean; - isFinite(value: any): boolean; - isFunction(value: Function): true; - isFunction(value: number | string | void | null | Object): false; - isInteger(value: any): boolean; - isLength(value: any): boolean; - isMap(value: any): boolean; - isMatch(source: Object): (object: Object) => boolean; - isMatch(source: Object, object: Object): boolean; - whereEq(source: Object): (object: Object) => boolean; - whereEq(source: Object, object: Object): boolean; - isMatchWith( - customizer: ( - objValue: any, - srcValue: any, - key: number | string, - object: T, - source: U - ) => boolean | void - ): ((source: U) => (object: T) => boolean) & - ((source: U, object: T) => boolean); - isMatchWith( - customizer: ( - objValue: any, - srcValue: any, - key: number | string, - object: T, - source: U - ) => boolean | void, - source: U - ): (object: T) => boolean; - isMatchWith( - customizer: ( - objValue: any, - srcValue: any, - key: number | string, - object: T, - source: U - ) => boolean | void, - source: U, - object: T - ): boolean; - isNaN(value: any): boolean; - isNative(value: any): boolean; - isNil(value: any): boolean; - isNull(value: any): boolean; - isNumber(value: any): boolean; - isObject(value: any): boolean; - isObjectLike(value: any): boolean; - isPlainObject(value: any): boolean; - isRegExp(value: any): boolean; - isSafeInteger(value: any): boolean; - isSet(value: any): boolean; - isString(value: string): true; - isString( - value: number | boolean | Function | void | null | Object | Array - ): false; - isSymbol(value: any): boolean; - isTypedArray(value: any): boolean; - isUndefined(value: any): boolean; - isWeakMap(value: any): boolean; - isWeakSet(value: any): boolean; - lt(value: any): (other: any) => boolean; - lt(value: any, other: any): boolean; - lte(value: any): (other: any) => boolean; - lte(value: any, other: any): boolean; - toArray(value: any): Array; - toFinite(value: any): number; - toInteger(value: any): number; - toLength(value: any): number; - toNumber(value: any): number; - toPlainObject(value: any): Object; - toSafeInteger(value: any): number; - toString(value: any): string; - - // Math - add(augend: number): (addend: number) => number; - add(augend: number, addend: number): number; - ceil(number: number): number; - divide(dividend: number): (divisor: number) => number; - divide(dividend: number, divisor: number): number; - floor(number: number): number; - max(array: Array): T; - maxBy(iteratee: Iteratee): (array: Array) => T; - maxBy(iteratee: Iteratee, array: Array): T; - mean(array: Array<*>): number; - meanBy(iteratee: Iteratee): (array: Array) => number; - meanBy(iteratee: Iteratee, array: Array): number; - min(array: Array): T; - minBy(iteratee: Iteratee): (array: Array) => T; - minBy(iteratee: Iteratee, array: Array): T; - multiply(multiplier: number): (multiplicand: number) => number; - multiply(multiplier: number, multiplicand: number): number; - round(number: number): number; - subtract(minuend: number): (subtrahend: number) => number; - subtract(minuend: number, subtrahend: number): number; - sum(array: Array<*>): number; - sumBy(iteratee: Iteratee): (array: Array) => number; - sumBy(iteratee: Iteratee, array: Array): number; - - // number - clamp( - lower: number - ): ((upper: number) => (number: number) => number) & - ((upper: number, number: number) => number); - clamp(lower: number, upper: number): (number: number) => number; - clamp(lower: number, upper: number, number: number): number; - inRange( - start: number - ): ((end: number) => (number: number) => boolean) & - ((end: number, number: number) => boolean); - inRange(start: number, end: number): (number: number) => boolean; - inRange(start: number, end: number, number: number): boolean; - random(lower: number): (upper: number) => number; - random(lower: number, upper: number): number; - - // Object - assign(object: Object): (source: Object) => Object; - assign(object: Object, source: Object): Object; - assignAll(objects: Array): Object; - assignInAll(objects: Array): Object; - extendAll(objects: Array): Object; - assignIn(a: A): (b: B) => A & B; - assignIn(a: A, b: B): A & B; - assignInWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void - ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); - assignInWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void, - object: T - ): (s1: A) => Object; - assignInWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void, - object: T, - s1: A - ): Object; - assignWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void - ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); - assignWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void, - object: T - ): (s1: A) => Object; - assignWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void, - object: T, - s1: A - ): Object; - assignInAllWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: Object, - source: Object - ) => any | void - ): (objects: Array) => Object; - assignInAllWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: Object, - source: Object - ) => any | void, - objects: Array - ): Object; - extendAllWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: Object, - source: Object - ) => any | void - ): (objects: Array) => Object; - extendAllWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: Object, - source: Object - ) => any | void, - objects: Array - ): Object; - assignAllWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: Object, - source: Object - ) => any | void - ): (objects: Array) => Object; - assignAllWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: Object, - source: Object - ) => any | void, - objects: Array - ): Object; - at(paths: Array): (object: Object) => Array; - at(paths: Array, object: Object): Array; - props(paths: Array): (object: Object) => Array; - props(paths: Array, object: Object): Array; - paths(paths: Array): (object: Object) => Array; - paths(paths: Array, object: Object): Array; - create(prototype: T): $Supertype; - defaults(source: Object): (object: Object) => Object; - defaults(source: Object, object: Object): Object; - defaultsAll(objects: Array): Object; - defaultsDeep(source: Object): (object: Object) => Object; - defaultsDeep(source: Object, object: Object): Object; - defaultsDeepAll(objects: Array): Object; - // alias for _.toPairs - entries(object: Object): NestedArray; - // alias for _.toPairsIn - entriesIn(object: Object): NestedArray; - // alias for _.assignIn - extend(a: A): (b: B) => A & B; - extend(a: A, b: B): A & B; - // alias for _.assignInWith - extendWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void - ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); - extendWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void, - object: T - ): (s1: A) => Object; - extendWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A - ) => any | void, - object: T, - s1: A - ): Object; - findKey( - predicate: OPredicate - ): (object: T) => string | void; - findKey( - predicate: OPredicate, - object: T - ): string | void; - findLastKey( - predicate: OPredicate - ): (object: T) => string | void; - findLastKey( - predicate: OPredicate, - object: T - ): string | void; - forIn(iteratee: OIteratee<*>): (object: Object) => Object; - forIn(iteratee: OIteratee<*>, object: Object): Object; - forInRight(iteratee: OIteratee<*>): (object: Object) => Object; - forInRight(iteratee: OIteratee<*>, object: Object): Object; - forOwn(iteratee: OIteratee<*>): (object: Object) => Object; - forOwn(iteratee: OIteratee<*>, object: Object): Object; - forOwnRight(iteratee: OIteratee<*>): (object: Object) => Object; - forOwnRight(iteratee: OIteratee<*>, object: Object): Object; - functions(object: Object): Array; - functionsIn(object: Object): Array; - get(path: Array | string): (object: Object | Array) => any; - get(path: Array | string, object: Object | Array): any; - prop(path: Array | string): (object: Object | Array) => any; - prop(path: Array | string, object: Object | Array): any; - path(path: Array | string): (object: Object | Array) => any; - path(path: Array | string, object: Object | Array): any; - getOr( - defaultValue: any - ): (( - path: Array | string - ) => (object: Object | Array) => any) & - ((path: Array | string, object: Object | Array) => any); - getOr( - defaultValue: any, - path: Array | string - ): (object: Object | Array) => any; - getOr( - defaultValue: any, - path: Array | string, - object: Object | Array - ): any; - propOr( - defaultValue: any - ): (( - path: Array | string - ) => (object: Object | Array) => any) & - ((path: Array | string, object: Object | Array) => any); - propOr( - defaultValue: any, - path: Array | string - ): (object: Object | Array) => any; - propOr( - defaultValue: any, - path: Array | string, - object: Object | Array - ): any; - pathOr( - defaultValue: any - ): (( - path: Array | string - ) => (object: Object | Array) => any) & - ((path: Array | string, object: Object | Array) => any); - pathOr( - defaultValue: any, - path: Array | string - ): (object: Object | Array) => any; - pathOr( - defaultValue: any, - path: Array | string, - object: Object | Array - ): any; - has(path: Array | string): (object: Object) => boolean; - has(path: Array | string, object: Object): boolean; - hasIn(path: Array | string): (object: Object) => boolean; - hasIn(path: Array | string, object: Object): boolean; - invert(object: Object): Object; - invertObj(object: Object): Object; - invertBy(iteratee: Function): (object: Object) => Object; - invertBy(iteratee: Function, object: Object): Object; - invoke(path: Array | string): (object: Object) => any; - invoke(path: Array | string, object: Object): any; - invokeArgs( - path: Array | string - ): ((object: Object) => (args: Array) => any) & - ((object: Object, args: Array) => any); - invokeArgs( - path: Array | string, - object: Object - ): (args: Array) => any; - invokeArgs( - path: Array | string, - object: Object, - args: Array - ): any; - keys(object: { [key: K]: any }): Array; - keys(object: Object): Array; - keysIn(object: Object): Array; - mapKeys(iteratee: OIteratee<*>): (object: Object) => Object; - mapKeys(iteratee: OIteratee<*>, object: Object): Object; - mapValues(iteratee: OIteratee<*>): (object: Object) => Object; - mapValues(iteratee: OIteratee<*>, object: Object): Object; - merge(object: Object): (source: Object) => Object; - merge(object: Object, source: Object): Object; - mergeAll(objects: Array): Object; - mergeWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B - ) => any | void - ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); - mergeWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B - ) => any | void, - object: T - ): (s1: A) => Object; - mergeWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: T, - source: A | B - ) => any | void, - object: T, - s1: A - ): Object; - mergeAllWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: Object, - source: Object - ) => any | void - ): (objects: Array) => Object; - mergeAllWith( - customizer: ( - objValue: any, - srcValue: any, - key: string, - object: Object, - source: Object - ) => any | void, - objects: Array - ): Object; - omit(props: Array): (object: Object) => Object; - omit(props: Array, object: Object): Object; - omitAll(props: Array): (object: Object) => Object; - omitAll(props: Array, object: Object): Object; - omitBy( - predicate: OPredicate - ): (object: T) => Object; - omitBy(predicate: OPredicate, object: T): Object; - pick(props: Array): (object: Object) => Object; - pick(props: Array, object: Object): Object; - pickAll(props: Array): (object: Object) => Object; - pickAll(props: Array, object: Object): Object; - pickBy( - predicate: OPredicate - ): (object: T) => Object; - pickBy(predicate: OPredicate, object: T): Object; - result(path: Array | string): (object: Object) => any; - result(path: Array | string, object: Object): any; - set( - path: Array | string - ): ((value: any) => (object: Object) => Object) & - ((value: any, object: Object) => Object); - set(path: Array | string, value: any): (object: Object) => Object; - set(path: Array | string, value: any, object: Object): Object; - assoc( - path: Array | string - ): ((value: any) => (object: Object) => Object) & - ((value: any, object: Object) => Object); - assoc(path: Array | string, value: any): (object: Object) => Object; - assoc(path: Array | string, value: any, object: Object): Object; - assocPath( - path: Array | string - ): ((value: any) => (object: Object) => Object) & - ((value: any, object: Object) => Object); - assocPath( - path: Array | string, - value: any - ): (object: Object) => Object; - assocPath(path: Array | string, value: any, object: Object): Object; - setWith( - customizer: (nsValue: any, key: string, nsObject: T) => any - ): (( - path: Array | string - ) => ((value: any) => (object: T) => Object) & - ((value: any, object: T) => Object)) & - ((path: Array | string, value: any) => (object: T) => Object) & - ((path: Array | string, value: any, object: T) => Object); - setWith( - customizer: (nsValue: any, key: string, nsObject: T) => any, - path: Array | string - ): ((value: any) => (object: T) => Object) & - ((value: any, object: T) => Object); - setWith( - customizer: (nsValue: any, key: string, nsObject: T) => any, - path: Array | string, - value: any - ): (object: T) => Object; - setWith( - customizer: (nsValue: any, key: string, nsObject: T) => any, - path: Array | string, - value: any, - object: T - ): Object; - toPairs(object: Object | Array<*>): NestedArray; - toPairsIn(object: Object): NestedArray; - transform( - iteratee: OIteratee<*> - ): ((accumulator: any) => (collection: Object | Array) => any) & - ((accumulator: any, collection: Object | Array) => any); - transform( - iteratee: OIteratee<*>, - accumulator: any - ): (collection: Object | Array) => any; - transform( - iteratee: OIteratee<*>, - accumulator: any, - collection: Object | Array - ): any; - unset(path: Array | string): (object: Object) => boolean; - unset(path: Array | string, object: Object): boolean; - dissoc(path: Array | string): (object: Object) => boolean; - dissoc(path: Array | string, object: Object): boolean; - dissocPath(path: Array | string): (object: Object) => boolean; - dissocPath(path: Array | string, object: Object): boolean; - update( - path: string[] | string - ): ((updater: Function) => (object: Object) => Object) & - ((updater: Function, object: Object) => Object); - update( - path: string[] | string, - updater: Function - ): (object: Object) => Object; - update(path: string[] | string, updater: Function, object: Object): Object; - updateWith( - customizer: Function - ): (( - path: string[] | string - ) => ((updater: Function) => (object: Object) => Object) & - ((updater: Function, object: Object) => Object)) & - (( - path: string[] | string, - updater: Function - ) => (object: Object) => Object) & - ((path: string[] | string, updater: Function, object: Object) => Object); - updateWith( - customizer: Function, - path: string[] | string - ): ((updater: Function) => (object: Object) => Object) & - ((updater: Function, object: Object) => Object); - updateWith( - customizer: Function, - path: string[] | string, - updater: Function - ): (object: Object) => Object; - updateWith( - customizer: Function, - path: string[] | string, - updater: Function, - object: Object - ): Object; - values(object: Object): Array; - valuesIn(object: Object): Array; - - tap(interceptor: (value: T) => any): (value: T) => T; - tap(interceptor: (value: T) => any, value: T): T; - thru(interceptor: (value: T1) => T2): (value: T1) => T2; - thru(interceptor: (value: T1) => T2, value: T1): T2; - - // String - camelCase(string: string): string; - capitalize(string: string): string; - deburr(string: string): string; - endsWith(target: string): (string: string) => boolean; - endsWith(target: string, string: string): boolean; - escape(string: string): string; - escapeRegExp(string: string): string; - kebabCase(string: string): string; - lowerCase(string: string): string; - lowerFirst(string: string): string; - pad(length: number): (string: string) => string; - pad(length: number, string: string): string; - padChars( - chars: string - ): ((length: number) => (string: string) => string) & - ((length: number, string: string) => string); - padChars(chars: string, length: number): (string: string) => string; - padChars(chars: string, length: number, string: string): string; - padEnd(length: number): (string: string) => string; - padEnd(length: number, string: string): string; - padCharsEnd( - chars: string - ): ((length: number) => (string: string) => string) & - ((length: number, string: string) => string); - padCharsEnd(chars: string, length: number): (string: string) => string; - padCharsEnd(chars: string, length: number, string: string): string; - padStart(length: number): (string: string) => string; - padStart(length: number, string: string): string; - padCharsStart( - chars: string - ): ((length: number) => (string: string) => string) & - ((length: number, string: string) => string); - padCharsStart(chars: string, length: number): (string: string) => string; - padCharsStart(chars: string, length: number, string: string): string; - parseInt(radix: number): (string: string) => number; - parseInt(radix: number, string: string): number; - repeat(n: number): (string: string) => string; - repeat(n: number, string: string): string; - replace( - pattern: RegExp | string - ): (( - replacement: ((string: string) => string) | string - ) => (string: string) => string) & - (( - replacement: ((string: string) => string) | string, - string: string - ) => string); - replace( - pattern: RegExp | string, - replacement: ((string: string) => string) | string - ): (string: string) => string; - replace( - pattern: RegExp | string, - replacement: ((string: string) => string) | string, - string: string - ): string; - snakeCase(string: string): string; - split(separator: RegExp | string): (string: string) => Array; - split(separator: RegExp | string, string: string): Array; - startCase(string: string): string; - startsWith(target: string): (string: string) => boolean; - startsWith(target: string, string: string): boolean; - template(string: string): Function; - toLower(string: string): string; - toUpper(string: string): string; - trim(string: string): string; - trimChars(chars: string): (string: string) => string; - trimChars(chars: string, string: string): string; - trimEnd(string: string): string; - trimCharsEnd(chars: string): (string: string) => string; - trimCharsEnd(chars: string, string: string): string; - trimStart(string: string): string; - trimCharsStart(chars: string): (string: string) => string; - trimCharsStart(chars: string, string: string): string; - truncate(options: TruncateOptions): (string: string) => string; - truncate(options: TruncateOptions, string: string): string; - unescape(string: string): string; - upperCase(string: string): string; - upperFirst(string: string): string; - words(string: string): Array; - - // Util - attempt(func: Function): any; - bindAll(methodNames: Array): (object: Object) => Object; - bindAll(methodNames: Array, object: Object): Object; - cond(pairs: NestedArray): Function; - constant(value: T): () => T; - always(value: T): () => T; - defaultTo( - defaultValue: T2 - ): (value: T1) => T1; - defaultTo( - defaultValue: T2, - value: T1 - ): T1; - // NaN is a number instead of its own type, otherwise it would behave like null/void - defaultTo(defaultValue: T2): (value: T1) => T1 | T2; - defaultTo(defaultValue: T2, value: T1): T1 | T2; - defaultTo(defaultValue: T2): (value: T1) => T2; - defaultTo(defaultValue: T2, value: T1): T2; - flow: $ComposeReverse; - flow(funcs: Array): Function; - pipe: $ComposeReverse; - pipe(funcs: Array): Function; - flowRight: $Compose; - flowRight(funcs: Array): Function; - compose: $Compose; - compose(funcs: Array): Function; - identity(value: T): T; - iteratee(func: any): Function; - matches(source: Object): (object: Object) => boolean; - matches(source: Object, object: Object): boolean; - matchesProperty(path: Array | string): (srcValue: any) => Function; - matchesProperty(path: Array | string, srcValue: any): Function; - propEq(path: Array | string): (srcValue: any) => Function; - propEq(path: Array | string, srcValue: any): Function; - pathEq(path: Array | string): (srcValue: any) => Function; - pathEq(path: Array | string, srcValue: any): Function; - method(path: Array | string): Function; - methodOf(object: Object): Function; - mixin( - object: T - ): ((source: Object) => (options: { chain: boolean }) => T) & - ((source: Object, options: { chain: boolean }) => T); - mixin( - object: T, - source: Object - ): (options: { chain: boolean }) => T; - mixin( - object: T, - source: Object, - options: { chain: boolean } - ): T; - noConflict(): Lodash; - noop(...args: Array): void; - nthArg(n: number): Function; - over(iteratees: Array): Function; - juxt(iteratees: Array): Function; - overEvery(predicates: Array): Function; - allPass(predicates: Array): Function; - overSome(predicates: Array): Function; - anyPass(predicates: Array): Function; - property( - path: Array | string - ): (object: Object | Array) => any; - property(path: Array | string, object: Object | Array): any; - propertyOf(object: Object): (path: Array | string) => Function; - propertyOf(object: Object, path: Array | string): Function; - range(start: number): (end: number) => Array; - range(start: number, end: number): Array; - rangeStep( - step: number - ): ((start: number) => (end: number) => Array) & - ((start: number, end: number) => Array); - rangeStep(step: number, start: number): (end: number) => Array; - rangeStep(step: number, start: number, end: number): Array; - rangeRight(start: number): (end: number) => Array; - rangeRight(start: number, end: number): Array; - rangeStepRight( - step: number - ): ((start: number) => (end: number) => Array) & - ((start: number, end: number) => Array); - rangeStepRight(step: number, start: number): (end: number) => Array; - rangeStepRight(step: number, start: number, end: number): Array; - runInContext(context: Object): Function; - - stubArray(): Array<*>; - stubFalse(): false; - F(): false; - stubObject(): {}; - stubString(): ""; - stubTrue(): true; - T(): true; - times(iteratee: (i: number) => T): (n: number) => Array; - times(iteratee: (i: number) => T, n: number): Array; - toPath(value: any): Array; - uniqueId(prefix: string): string; - - __: any; - placeholder: any; - - convert(options: { - cap?: boolean, - curry?: boolean, - fixed?: boolean, - immutable?: boolean, - rearg?: boolean - }): void; - - // Properties - VERSION: string; - templateSettings: TemplateSettings; - } - - declare var exports: Lodash; -} - -declare module "lodash/chunk" { - declare module.exports: $PropertyType<$Exports<"lodash">, "chunk">; -} - -declare module "lodash/compact" { - declare module.exports: $PropertyType<$Exports<"lodash">, "compact">; -} - -declare module "lodash/concat" { - declare module.exports: $PropertyType<$Exports<"lodash">, "concat">; -} - -declare module "lodash/difference" { - declare module.exports: $PropertyType<$Exports<"lodash">, "difference">; -} - -declare module "lodash/differenceBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "differenceBy">; -} - -declare module "lodash/differenceWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "differenceWith">; -} - -declare module "lodash/drop" { - declare module.exports: $PropertyType<$Exports<"lodash">, "drop">; -} - -declare module "lodash/dropRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "dropRight">; -} - -declare module "lodash/dropRightWhile" { - declare module.exports: $PropertyType<$Exports<"lodash">, "dropRightWhile">; -} - -declare module "lodash/dropWhile" { - declare module.exports: $PropertyType<$Exports<"lodash">, "dropWhile">; -} - -declare module "lodash/fill" { - declare module.exports: $PropertyType<$Exports<"lodash">, "fill">; -} - -declare module "lodash/findIndex" { - declare module.exports: $PropertyType<$Exports<"lodash">, "findIndex">; -} - -declare module "lodash/findLastIndex" { - declare module.exports: $PropertyType<$Exports<"lodash">, "findLastIndex">; -} - -declare module "lodash/first" { - declare module.exports: $PropertyType<$Exports<"lodash">, "first">; -} - -declare module "lodash/flatten" { - declare module.exports: $PropertyType<$Exports<"lodash">, "flatten">; -} - -declare module "lodash/flattenDeep" { - declare module.exports: $PropertyType<$Exports<"lodash">, "flattenDeep">; -} - -declare module "lodash/flattenDepth" { - declare module.exports: $PropertyType<$Exports<"lodash">, "flattenDepth">; -} - -declare module "lodash/fromPairs" { - declare module.exports: $PropertyType<$Exports<"lodash">, "fromPairs">; -} - -declare module "lodash/head" { - declare module.exports: $PropertyType<$Exports<"lodash">, "head">; -} - -declare module "lodash/indexOf" { - declare module.exports: $PropertyType<$Exports<"lodash">, "indexOf">; -} - -declare module "lodash/initial" { - declare module.exports: $PropertyType<$Exports<"lodash">, "initial">; -} - -declare module "lodash/intersection" { - declare module.exports: $PropertyType<$Exports<"lodash">, "intersection">; -} - -declare module "lodash/intersectionBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "intersectionBy">; -} - -declare module "lodash/intersectionWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "intersectionWith">; -} - -declare module "lodash/join" { - declare module.exports: $PropertyType<$Exports<"lodash">, "join">; -} - -declare module "lodash/last" { - declare module.exports: $PropertyType<$Exports<"lodash">, "last">; -} - -declare module "lodash/lastIndexOf" { - declare module.exports: $PropertyType<$Exports<"lodash">, "lastIndexOf">; -} - -declare module "lodash/nth" { - declare module.exports: $PropertyType<$Exports<"lodash">, "nth">; -} - -declare module "lodash/pull" { - declare module.exports: $PropertyType<$Exports<"lodash">, "pull">; -} - -declare module "lodash/pullAll" { - declare module.exports: $PropertyType<$Exports<"lodash">, "pullAll">; -} - -declare module "lodash/pullAllBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "pullAllBy">; -} - -declare module "lodash/pullAllWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "pullAllWith">; -} - -declare module "lodash/pullAt" { - declare module.exports: $PropertyType<$Exports<"lodash">, "pullAt">; -} - -declare module "lodash/remove" { - declare module.exports: $PropertyType<$Exports<"lodash">, "remove">; -} - -declare module "lodash/reverse" { - declare module.exports: $PropertyType<$Exports<"lodash">, "reverse">; -} - -declare module "lodash/slice" { - declare module.exports: $PropertyType<$Exports<"lodash">, "slice">; -} - -declare module "lodash/sortedIndex" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndex">; -} - -declare module "lodash/sortedIndexBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndexBy">; -} - -declare module "lodash/sortedIndexOf" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndexOf">; -} - -declare module "lodash/sortedLastIndex" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sortedLastIndex">; -} - -declare module "lodash/sortedLastIndexBy" { - declare module.exports: $PropertyType< - $Exports<"lodash">, - "sortedLastIndexBy" - >; -} - -declare module "lodash/sortedLastIndexOf" { - declare module.exports: $PropertyType< - $Exports<"lodash">, - "sortedLastIndexOf" - >; -} - -declare module "lodash/sortedUniq" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sortedUniq">; -} - -declare module "lodash/sortedUniqBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sortedUniqBy">; -} - -declare module "lodash/tail" { - declare module.exports: $PropertyType<$Exports<"lodash">, "tail">; -} - -declare module "lodash/take" { - declare module.exports: $PropertyType<$Exports<"lodash">, "take">; -} - -declare module "lodash/takeRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "takeRight">; -} - -declare module "lodash/takeRightWhile" { - declare module.exports: $PropertyType<$Exports<"lodash">, "takeRightWhile">; -} - -declare module "lodash/takeWhile" { - declare module.exports: $PropertyType<$Exports<"lodash">, "takeWhile">; -} - -declare module "lodash/union" { - declare module.exports: $PropertyType<$Exports<"lodash">, "union">; -} - -declare module "lodash/unionBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "unionBy">; -} - -declare module "lodash/unionWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "unionWith">; -} - -declare module "lodash/uniq" { - declare module.exports: $PropertyType<$Exports<"lodash">, "uniq">; -} - -declare module "lodash/uniqBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "uniqBy">; -} - -declare module "lodash/uniqWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "uniqWith">; -} - -declare module "lodash/unzip" { - declare module.exports: $PropertyType<$Exports<"lodash">, "unzip">; -} - -declare module "lodash/unzipWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "unzipWith">; -} - -declare module "lodash/without" { - declare module.exports: $PropertyType<$Exports<"lodash">, "without">; -} - -declare module "lodash/xor" { - declare module.exports: $PropertyType<$Exports<"lodash">, "xor">; -} - -declare module "lodash/xorBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "xorBy">; -} - -declare module "lodash/xorWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "xorWith">; -} - -declare module "lodash/zip" { - declare module.exports: $PropertyType<$Exports<"lodash">, "zip">; -} - -declare module "lodash/zipObject" { - declare module.exports: $PropertyType<$Exports<"lodash">, "zipObject">; -} - -declare module "lodash/zipObjectDeep" { - declare module.exports: $PropertyType<$Exports<"lodash">, "zipObjectDeep">; -} - -declare module "lodash/zipWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "zipWith">; -} - -declare module "lodash/countBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "countBy">; -} - -declare module "lodash/each" { - declare module.exports: $PropertyType<$Exports<"lodash">, "each">; -} - -declare module "lodash/eachRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "eachRight">; -} - -declare module "lodash/every" { - declare module.exports: $PropertyType<$Exports<"lodash">, "every">; -} - -declare module "lodash/filter" { - declare module.exports: $PropertyType<$Exports<"lodash">, "filter">; -} - -declare module "lodash/find" { - declare module.exports: $PropertyType<$Exports<"lodash">, "find">; -} - -declare module "lodash/findLast" { - declare module.exports: $PropertyType<$Exports<"lodash">, "findLast">; -} - -declare module "lodash/flatMap" { - declare module.exports: $PropertyType<$Exports<"lodash">, "flatMap">; -} - -declare module "lodash/flatMapDeep" { - declare module.exports: $PropertyType<$Exports<"lodash">, "flatMapDeep">; -} - -declare module "lodash/flatMapDepth" { - declare module.exports: $PropertyType<$Exports<"lodash">, "flatMapDepth">; -} - -declare module "lodash/forEach" { - declare module.exports: $PropertyType<$Exports<"lodash">, "forEach">; -} - -declare module "lodash/forEachRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "forEachRight">; -} - -declare module "lodash/groupBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "groupBy">; -} - -declare module "lodash/includes" { - declare module.exports: $PropertyType<$Exports<"lodash">, "includes">; -} - -declare module "lodash/invokeMap" { - declare module.exports: $PropertyType<$Exports<"lodash">, "invokeMap">; -} - -declare module "lodash/keyBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "keyBy">; -} - -declare module "lodash/map" { - declare module.exports: $PropertyType<$Exports<"lodash">, "map">; -} - -declare module "lodash/orderBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "orderBy">; -} - -declare module "lodash/partition" { - declare module.exports: $PropertyType<$Exports<"lodash">, "partition">; -} - -declare module "lodash/reduce" { - declare module.exports: $PropertyType<$Exports<"lodash">, "reduce">; -} - -declare module "lodash/reduceRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "reduceRight">; -} - -declare module "lodash/reject" { - declare module.exports: $PropertyType<$Exports<"lodash">, "reject">; -} - -declare module "lodash/sample" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sample">; -} - -declare module "lodash/sampleSize" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sampleSize">; -} - -declare module "lodash/shuffle" { - declare module.exports: $PropertyType<$Exports<"lodash">, "shuffle">; -} - -declare module "lodash/size" { - declare module.exports: $PropertyType<$Exports<"lodash">, "size">; -} - -declare module "lodash/some" { - declare module.exports: $PropertyType<$Exports<"lodash">, "some">; -} - -declare module "lodash/sortBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sortBy">; -} - -declare module "lodash/now" { - declare module.exports: $PropertyType<$Exports<"lodash">, "now">; -} - -declare module "lodash/after" { - declare module.exports: $PropertyType<$Exports<"lodash">, "after">; -} - -declare module "lodash/ary" { - declare module.exports: $PropertyType<$Exports<"lodash">, "ary">; -} - -declare module "lodash/before" { - declare module.exports: $PropertyType<$Exports<"lodash">, "before">; -} - -declare module "lodash/bind" { - declare module.exports: $PropertyType<$Exports<"lodash">, "bind">; -} - -declare module "lodash/bindKey" { - declare module.exports: $PropertyType<$Exports<"lodash">, "bindKey">; -} - -declare module "lodash/curry" { - declare module.exports: $PropertyType<$Exports<"lodash">, "curry">; -} - -declare module "lodash/curryRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "curryRight">; -} - -declare module "lodash/debounce" { - declare module.exports: $PropertyType<$Exports<"lodash">, "debounce">; -} - -declare module "lodash/defer" { - declare module.exports: $PropertyType<$Exports<"lodash">, "defer">; -} - -declare module "lodash/delay" { - declare module.exports: $PropertyType<$Exports<"lodash">, "delay">; -} - -declare module "lodash/flip" { - declare module.exports: $PropertyType<$Exports<"lodash">, "flip">; -} - -declare module "lodash/memoize" { - declare module.exports: $PropertyType<$Exports<"lodash">, "memoize">; -} - -declare module "lodash/negate" { - declare module.exports: $PropertyType<$Exports<"lodash">, "negate">; -} - -declare module "lodash/once" { - declare module.exports: $PropertyType<$Exports<"lodash">, "once">; -} - -declare module "lodash/overArgs" { - declare module.exports: $PropertyType<$Exports<"lodash">, "overArgs">; -} - -declare module "lodash/partial" { - declare module.exports: $PropertyType<$Exports<"lodash">, "partial">; -} - -declare module "lodash/partialRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "partialRight">; -} - -declare module "lodash/rearg" { - declare module.exports: $PropertyType<$Exports<"lodash">, "rearg">; -} - -declare module "lodash/rest" { - declare module.exports: $PropertyType<$Exports<"lodash">, "rest">; -} - -declare module "lodash/spread" { - declare module.exports: $PropertyType<$Exports<"lodash">, "spread">; -} - -declare module "lodash/throttle" { - declare module.exports: $PropertyType<$Exports<"lodash">, "throttle">; -} - -declare module "lodash/unary" { - declare module.exports: $PropertyType<$Exports<"lodash">, "unary">; -} - -declare module "lodash/wrap" { - declare module.exports: $PropertyType<$Exports<"lodash">, "wrap">; -} - -declare module "lodash/castArray" { - declare module.exports: $PropertyType<$Exports<"lodash">, "castArray">; -} - -declare module "lodash/clone" { - declare module.exports: $PropertyType<$Exports<"lodash">, "clone">; -} - -declare module "lodash/cloneDeep" { - declare module.exports: $PropertyType<$Exports<"lodash">, "cloneDeep">; -} - -declare module "lodash/cloneDeepWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "cloneDeepWith">; -} - -declare module "lodash/cloneWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "cloneWith">; -} - -declare module "lodash/conformsTo" { - declare module.exports: $PropertyType<$Exports<"lodash">, "conformsTo">; -} - -declare module "lodash/eq" { - declare module.exports: $PropertyType<$Exports<"lodash">, "eq">; -} - -declare module "lodash/gt" { - declare module.exports: $PropertyType<$Exports<"lodash">, "gt">; -} - -declare module "lodash/gte" { - declare module.exports: $PropertyType<$Exports<"lodash">, "gte">; -} - -declare module "lodash/isArguments" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isArguments">; -} - -declare module "lodash/isArray" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isArray">; -} - -declare module "lodash/isArrayBuffer" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isArrayBuffer">; -} - -declare module "lodash/isArrayLike" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isArrayLike">; -} - -declare module "lodash/isArrayLikeObject" { - declare module.exports: $PropertyType< - $Exports<"lodash">, - "isArrayLikeObject" - >; -} - -declare module "lodash/isBoolean" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isBoolean">; -} - -declare module "lodash/isBuffer" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isBuffer">; -} - -declare module "lodash/isDate" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isDate">; -} - -declare module "lodash/isElement" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isElement">; -} - -declare module "lodash/isEmpty" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isEmpty">; -} - -declare module "lodash/isEqual" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isEqual">; -} - -declare module "lodash/isEqualWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isEqualWith">; -} - -declare module "lodash/isError" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isError">; -} - -declare module "lodash/isFinite" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isFinite">; -} - -declare module "lodash/isFunction" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isFunction">; -} - -declare module "lodash/isInteger" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isInteger">; -} - -declare module "lodash/isLength" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isLength">; -} - -declare module "lodash/isMap" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isMap">; -} - -declare module "lodash/isMatch" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isMatch">; -} - -declare module "lodash/isMatchWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isMatchWith">; -} - -declare module "lodash/isNaN" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isNaN">; -} - -declare module "lodash/isNative" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isNative">; -} - -declare module "lodash/isNil" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isNil">; -} - -declare module "lodash/isNull" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isNull">; -} - -declare module "lodash/isNumber" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isNumber">; -} - -declare module "lodash/isObject" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isObject">; -} - -declare module "lodash/isObjectLike" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isObjectLike">; -} - -declare module "lodash/isPlainObject" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isPlainObject">; -} - -declare module "lodash/isRegExp" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isRegExp">; -} - -declare module "lodash/isSafeInteger" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isSafeInteger">; -} - -declare module "lodash/isSet" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isSet">; -} - -declare module "lodash/isString" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isString">; -} - -declare module "lodash/isSymbol" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isSymbol">; -} - -declare module "lodash/isTypedArray" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isTypedArray">; -} - -declare module "lodash/isUndefined" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isUndefined">; -} - -declare module "lodash/isWeakMap" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isWeakMap">; -} - -declare module "lodash/isWeakSet" { - declare module.exports: $PropertyType<$Exports<"lodash">, "isWeakSet">; -} - -declare module "lodash/lt" { - declare module.exports: $PropertyType<$Exports<"lodash">, "lt">; -} - -declare module "lodash/lte" { - declare module.exports: $PropertyType<$Exports<"lodash">, "lte">; -} - -declare module "lodash/toArray" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toArray">; -} - -declare module "lodash/toFinite" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toFinite">; -} - -declare module "lodash/toInteger" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toInteger">; -} - -declare module "lodash/toLength" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toLength">; -} - -declare module "lodash/toNumber" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toNumber">; -} - -declare module "lodash/toPlainObject" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toPlainObject">; -} - -declare module "lodash/toSafeInteger" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toSafeInteger">; -} - -declare module "lodash/toString" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toString">; -} - -declare module "lodash/add" { - declare module.exports: $PropertyType<$Exports<"lodash">, "add">; -} - -declare module "lodash/ceil" { - declare module.exports: $PropertyType<$Exports<"lodash">, "ceil">; -} - -declare module "lodash/divide" { - declare module.exports: $PropertyType<$Exports<"lodash">, "divide">; -} - -declare module "lodash/floor" { - declare module.exports: $PropertyType<$Exports<"lodash">, "floor">; -} - -declare module "lodash/max" { - declare module.exports: $PropertyType<$Exports<"lodash">, "max">; -} - -declare module "lodash/maxBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "maxBy">; -} - -declare module "lodash/mean" { - declare module.exports: $PropertyType<$Exports<"lodash">, "mean">; -} - -declare module "lodash/meanBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "meanBy">; -} - -declare module "lodash/min" { - declare module.exports: $PropertyType<$Exports<"lodash">, "min">; -} - -declare module "lodash/minBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "minBy">; -} - -declare module "lodash/multiply" { - declare module.exports: $PropertyType<$Exports<"lodash">, "multiply">; -} - -declare module "lodash/round" { - declare module.exports: $PropertyType<$Exports<"lodash">, "round">; -} - -declare module "lodash/subtract" { - declare module.exports: $PropertyType<$Exports<"lodash">, "subtract">; -} - -declare module "lodash/sum" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sum">; -} - -declare module "lodash/sumBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "sumBy">; -} - -declare module "lodash/clamp" { - declare module.exports: $PropertyType<$Exports<"lodash">, "clamp">; -} - -declare module "lodash/inRange" { - declare module.exports: $PropertyType<$Exports<"lodash">, "inRange">; -} - -declare module "lodash/random" { - declare module.exports: $PropertyType<$Exports<"lodash">, "random">; -} - -declare module "lodash/assign" { - declare module.exports: $PropertyType<$Exports<"lodash">, "assign">; -} - -declare module "lodash/assignIn" { - declare module.exports: $PropertyType<$Exports<"lodash">, "assignIn">; -} - -declare module "lodash/assignInWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "assignInWith">; -} - -declare module "lodash/assignWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "assignWith">; -} - -declare module "lodash/at" { - declare module.exports: $PropertyType<$Exports<"lodash">, "at">; -} - -declare module "lodash/create" { - declare module.exports: $PropertyType<$Exports<"lodash">, "create">; -} - -declare module "lodash/defaults" { - declare module.exports: $PropertyType<$Exports<"lodash">, "defaults">; -} - -declare module "lodash/defaultsDeep" { - declare module.exports: $PropertyType<$Exports<"lodash">, "defaultsDeep">; -} - -declare module "lodash/entries" { - declare module.exports: $PropertyType<$Exports<"lodash">, "entries">; -} - -declare module "lodash/entriesIn" { - declare module.exports: $PropertyType<$Exports<"lodash">, "entriesIn">; -} - -declare module "lodash/extend" { - declare module.exports: $PropertyType<$Exports<"lodash">, "extend">; -} - -declare module "lodash/extendWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "extendWith">; -} - -declare module "lodash/findKey" { - declare module.exports: $PropertyType<$Exports<"lodash">, "findKey">; -} - -declare module "lodash/findLastKey" { - declare module.exports: $PropertyType<$Exports<"lodash">, "findLastKey">; -} - -declare module "lodash/forIn" { - declare module.exports: $PropertyType<$Exports<"lodash">, "forIn">; -} - -declare module "lodash/forInRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "forInRight">; -} - -declare module "lodash/forOwn" { - declare module.exports: $PropertyType<$Exports<"lodash">, "forOwn">; -} - -declare module "lodash/forOwnRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "forOwnRight">; -} - -declare module "lodash/functions" { - declare module.exports: $PropertyType<$Exports<"lodash">, "functions">; -} - -declare module "lodash/functionsIn" { - declare module.exports: $PropertyType<$Exports<"lodash">, "functionsIn">; -} - -declare module "lodash/get" { - declare module.exports: $PropertyType<$Exports<"lodash">, "get">; -} - -declare module "lodash/has" { - declare module.exports: $PropertyType<$Exports<"lodash">, "has">; -} - -declare module "lodash/hasIn" { - declare module.exports: $PropertyType<$Exports<"lodash">, "hasIn">; -} - -declare module "lodash/invert" { - declare module.exports: $PropertyType<$Exports<"lodash">, "invert">; -} - -declare module "lodash/invertBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "invertBy">; -} - -declare module "lodash/invoke" { - declare module.exports: $PropertyType<$Exports<"lodash">, "invoke">; -} - -declare module "lodash/keys" { - declare module.exports: $PropertyType<$Exports<"lodash">, "keys">; -} - -declare module "lodash/keysIn" { - declare module.exports: $PropertyType<$Exports<"lodash">, "keysIn">; -} - -declare module "lodash/mapKeys" { - declare module.exports: $PropertyType<$Exports<"lodash">, "mapKeys">; -} - -declare module "lodash/mapValues" { - declare module.exports: $PropertyType<$Exports<"lodash">, "mapValues">; -} - -declare module "lodash/merge" { - declare module.exports: $PropertyType<$Exports<"lodash">, "merge">; -} - -declare module "lodash/mergeWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "mergeWith">; -} - -declare module "lodash/omit" { - declare module.exports: $PropertyType<$Exports<"lodash">, "omit">; -} - -declare module "lodash/omitBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "omitBy">; -} - -declare module "lodash/pick" { - declare module.exports: $PropertyType<$Exports<"lodash">, "pick">; -} - -declare module "lodash/pickBy" { - declare module.exports: $PropertyType<$Exports<"lodash">, "pickBy">; -} - -declare module "lodash/result" { - declare module.exports: $PropertyType<$Exports<"lodash">, "result">; -} - -declare module "lodash/set" { - declare module.exports: $PropertyType<$Exports<"lodash">, "set">; -} - -declare module "lodash/setWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "setWith">; -} - -declare module "lodash/toPairs" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toPairs">; -} - -declare module "lodash/toPairsIn" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toPairsIn">; -} - -declare module "lodash/transform" { - declare module.exports: $PropertyType<$Exports<"lodash">, "transform">; -} - -declare module "lodash/unset" { - declare module.exports: $PropertyType<$Exports<"lodash">, "unset">; -} - -declare module "lodash/update" { - declare module.exports: $PropertyType<$Exports<"lodash">, "update">; -} - -declare module "lodash/updateWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "updateWith">; -} - -declare module "lodash/values" { - declare module.exports: $PropertyType<$Exports<"lodash">, "values">; -} - -declare module "lodash/valuesIn" { - declare module.exports: $PropertyType<$Exports<"lodash">, "valuesIn">; -} - -declare module "lodash/chain" { - declare module.exports: $PropertyType<$Exports<"lodash">, "chain">; -} - -declare module "lodash/tap" { - declare module.exports: $PropertyType<$Exports<"lodash">, "tap">; -} - -declare module "lodash/thru" { - declare module.exports: $PropertyType<$Exports<"lodash">, "thru">; -} - -declare module "lodash/camelCase" { - declare module.exports: $PropertyType<$Exports<"lodash">, "camelCase">; -} - -declare module "lodash/capitalize" { - declare module.exports: $PropertyType<$Exports<"lodash">, "capitalize">; -} - -declare module "lodash/deburr" { - declare module.exports: $PropertyType<$Exports<"lodash">, "deburr">; -} - -declare module "lodash/endsWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "endsWith">; -} - -declare module "lodash/escape" { - declare module.exports: $PropertyType<$Exports<"lodash">, "escape">; -} - -declare module "lodash/escapeRegExp" { - declare module.exports: $PropertyType<$Exports<"lodash">, "escapeRegExp">; -} - -declare module "lodash/kebabCase" { - declare module.exports: $PropertyType<$Exports<"lodash">, "kebabCase">; -} - -declare module "lodash/lowerCase" { - declare module.exports: $PropertyType<$Exports<"lodash">, "lowerCase">; -} - -declare module "lodash/lowerFirst" { - declare module.exports: $PropertyType<$Exports<"lodash">, "lowerFirst">; -} - -declare module "lodash/pad" { - declare module.exports: $PropertyType<$Exports<"lodash">, "pad">; -} - -declare module "lodash/padEnd" { - declare module.exports: $PropertyType<$Exports<"lodash">, "padEnd">; -} - -declare module "lodash/padStart" { - declare module.exports: $PropertyType<$Exports<"lodash">, "padStart">; -} - -declare module "lodash/parseInt" { - declare module.exports: $PropertyType<$Exports<"lodash">, "parseInt">; -} - -declare module "lodash/repeat" { - declare module.exports: $PropertyType<$Exports<"lodash">, "repeat">; -} - -declare module "lodash/replace" { - declare module.exports: $PropertyType<$Exports<"lodash">, "replace">; -} - -declare module "lodash/snakeCase" { - declare module.exports: $PropertyType<$Exports<"lodash">, "snakeCase">; -} - -declare module "lodash/split" { - declare module.exports: $PropertyType<$Exports<"lodash">, "split">; -} - -declare module "lodash/startCase" { - declare module.exports: $PropertyType<$Exports<"lodash">, "startCase">; -} - -declare module "lodash/startsWith" { - declare module.exports: $PropertyType<$Exports<"lodash">, "startsWith">; -} - -declare module "lodash/template" { - declare module.exports: $PropertyType<$Exports<"lodash">, "template">; -} - -declare module "lodash/toLower" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toLower">; -} - -declare module "lodash/toUpper" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toUpper">; -} - -declare module "lodash/trim" { - declare module.exports: $PropertyType<$Exports<"lodash">, "trim">; -} - -declare module "lodash/trimEnd" { - declare module.exports: $PropertyType<$Exports<"lodash">, "trimEnd">; -} - -declare module "lodash/trimStart" { - declare module.exports: $PropertyType<$Exports<"lodash">, "trimStart">; -} - -declare module "lodash/truncate" { - declare module.exports: $PropertyType<$Exports<"lodash">, "truncate">; -} - -declare module "lodash/unescape" { - declare module.exports: $PropertyType<$Exports<"lodash">, "unescape">; -} - -declare module "lodash/upperCase" { - declare module.exports: $PropertyType<$Exports<"lodash">, "upperCase">; -} - -declare module "lodash/upperFirst" { - declare module.exports: $PropertyType<$Exports<"lodash">, "upperFirst">; -} - -declare module "lodash/words" { - declare module.exports: $PropertyType<$Exports<"lodash">, "words">; -} - -declare module "lodash/attempt" { - declare module.exports: $PropertyType<$Exports<"lodash">, "attempt">; -} - -declare module "lodash/bindAll" { - declare module.exports: $PropertyType<$Exports<"lodash">, "bindAll">; -} - -declare module "lodash/cond" { - declare module.exports: $PropertyType<$Exports<"lodash">, "cond">; -} - -declare module "lodash/conforms" { - declare module.exports: $PropertyType<$Exports<"lodash">, "conforms">; -} - -declare module "lodash/constant" { - declare module.exports: $PropertyType<$Exports<"lodash">, "constant">; -} - -declare module "lodash/defaultTo" { - declare module.exports: $PropertyType<$Exports<"lodash">, "defaultTo">; -} - -declare module "lodash/flow" { - declare module.exports: $PropertyType<$Exports<"lodash">, "flow">; -} - -declare module "lodash/flowRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "flowRight">; -} - -declare module "lodash/identity" { - declare module.exports: $PropertyType<$Exports<"lodash">, "identity">; -} - -declare module "lodash/iteratee" { - declare module.exports: $PropertyType<$Exports<"lodash">, "iteratee">; -} - -declare module "lodash/matches" { - declare module.exports: $PropertyType<$Exports<"lodash">, "matches">; -} - -declare module "lodash/matchesProperty" { - declare module.exports: $PropertyType<$Exports<"lodash">, "matchesProperty">; -} - -declare module "lodash/method" { - declare module.exports: $PropertyType<$Exports<"lodash">, "method">; -} - -declare module "lodash/methodOf" { - declare module.exports: $PropertyType<$Exports<"lodash">, "methodOf">; -} - -declare module "lodash/mixin" { - declare module.exports: $PropertyType<$Exports<"lodash">, "mixin">; -} - -declare module "lodash/noConflict" { - declare module.exports: $PropertyType<$Exports<"lodash">, "noConflict">; -} - -declare module "lodash/noop" { - declare module.exports: $PropertyType<$Exports<"lodash">, "noop">; -} - -declare module "lodash/nthArg" { - declare module.exports: $PropertyType<$Exports<"lodash">, "nthArg">; -} - -declare module "lodash/over" { - declare module.exports: $PropertyType<$Exports<"lodash">, "over">; -} - -declare module "lodash/overEvery" { - declare module.exports: $PropertyType<$Exports<"lodash">, "overEvery">; -} - -declare module "lodash/overSome" { - declare module.exports: $PropertyType<$Exports<"lodash">, "overSome">; -} - -declare module "lodash/property" { - declare module.exports: $PropertyType<$Exports<"lodash">, "property">; -} - -declare module "lodash/propertyOf" { - declare module.exports: $PropertyType<$Exports<"lodash">, "propertyOf">; -} - -declare module "lodash/range" { - declare module.exports: $PropertyType<$Exports<"lodash">, "range">; -} - -declare module "lodash/rangeRight" { - declare module.exports: $PropertyType<$Exports<"lodash">, "rangeRight">; -} - -declare module "lodash/runInContext" { - declare module.exports: $PropertyType<$Exports<"lodash">, "runInContext">; -} - -declare module "lodash/stubArray" { - declare module.exports: $PropertyType<$Exports<"lodash">, "stubArray">; -} - -declare module "lodash/stubFalse" { - declare module.exports: $PropertyType<$Exports<"lodash">, "stubFalse">; -} - -declare module "lodash/stubObject" { - declare module.exports: $PropertyType<$Exports<"lodash">, "stubObject">; -} - -declare module "lodash/stubString" { - declare module.exports: $PropertyType<$Exports<"lodash">, "stubString">; -} - -declare module "lodash/stubTrue" { - declare module.exports: $PropertyType<$Exports<"lodash">, "stubTrue">; -} - -declare module "lodash/times" { - declare module.exports: $PropertyType<$Exports<"lodash">, "times">; -} - -declare module "lodash/toPath" { - declare module.exports: $PropertyType<$Exports<"lodash">, "toPath">; -} - -declare module "lodash/uniqueId" { - declare module.exports: $PropertyType<$Exports<"lodash">, "uniqueId">; -} +// flow-typed signature: e72b0630b0d5f59be7b98f3b7e446af1 +// flow-typed version: 88076bb9e6/lodash_v4.x.x/flow_>=v0.63.x + +declare module "lodash" { + declare type __CurriedFunction1 = (...r: [AA]) => R; + declare type CurriedFunction1 = __CurriedFunction1; + + declare type __CurriedFunction2 = (( + ...r: [AA] + ) => CurriedFunction1) & + ((...r: [AA, BB]) => R); + declare type CurriedFunction2 = __CurriedFunction2; + + declare type __CurriedFunction3 = (( + ...r: [AA] + ) => CurriedFunction2) & + ((...r: [AA, BB]) => CurriedFunction1) & + ((...r: [AA, BB, CC]) => R); + declare type CurriedFunction3 = __CurriedFunction3< + A, + B, + C, + R, + *, + *, + * + >; + + declare type __CurriedFunction4< + A, + B, + C, + D, + R, + AA: A, + BB: B, + CC: C, + DD: D + > = ((...r: [AA]) => CurriedFunction3) & + ((...r: [AA, BB]) => CurriedFunction2) & + ((...r: [AA, BB, CC]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD]) => R); + declare type CurriedFunction4 = __CurriedFunction4< + A, + B, + C, + D, + R, + *, + *, + *, + * + >; + + declare type __CurriedFunction5< + A, + B, + C, + D, + E, + R, + AA: A, + BB: B, + CC: C, + DD: D, + EE: E + > = ((...r: [AA]) => CurriedFunction4) & + ((...r: [AA, BB]) => CurriedFunction3) & + ((...r: [AA, BB, CC]) => CurriedFunction2) & + ((...r: [AA, BB, CC, DD]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD, EE]) => R); + declare type CurriedFunction5 = __CurriedFunction5< + A, + B, + C, + D, + E, + R, + *, + *, + *, + *, + * + >; + + declare type __CurriedFunction6< + A, + B, + C, + D, + E, + F, + R, + AA: A, + BB: B, + CC: C, + DD: D, + EE: E, + FF: F + > = ((...r: [AA]) => CurriedFunction5) & + ((...r: [AA, BB]) => CurriedFunction4) & + ((...r: [AA, BB, CC]) => CurriedFunction3) & + ((...r: [AA, BB, CC, DD]) => CurriedFunction2) & + ((...r: [AA, BB, CC, DD, EE]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD, EE, FF]) => R); + declare type CurriedFunction6 = __CurriedFunction6< + A, + B, + C, + D, + E, + F, + R, + *, + *, + *, + *, + *, + * + >; + + declare type Curry = (((...r: [A]) => R) => CurriedFunction1) & + (((...r: [A, B]) => R) => CurriedFunction2) & + (((...r: [A, B, C]) => R) => CurriedFunction3) & + (( + (...r: [A, B, C, D]) => R + ) => CurriedFunction4) & + (( + (...r: [A, B, C, D, E]) => R + ) => CurriedFunction5) & + (( + (...r: [A, B, C, D, E, F]) => R + ) => CurriedFunction6); + + declare type UnaryFn = (a: A) => R; + + declare type TemplateSettings = { + escape?: RegExp, + evaluate?: RegExp, + imports?: Object, + interpolate?: RegExp, + variable?: string + }; + + declare type TruncateOptions = { + length?: number, + omission?: string, + separator?: RegExp | string + }; + + declare type DebounceOptions = { + leading?: boolean, + maxWait?: number, + trailing?: boolean + }; + + declare type ThrottleOptions = { + leading?: boolean, + trailing?: boolean + }; + + declare type NestedArray = Array>; + + declare type matchesIterateeShorthand = Object; + declare type matchesPropertyIterateeShorthand = [string, any]; + declare type propertyIterateeShorthand = string; + + declare type OPredicate = + | ((value: A, key: string, object: O) => any) + | matchesIterateeShorthand + | matchesPropertyIterateeShorthand + | propertyIterateeShorthand; + + declare type OIterateeWithResult = + | Object + | string + | ((value: V, key: string, object: O) => R); + declare type OIteratee = OIterateeWithResult; + declare type OFlatMapIteratee = OIterateeWithResult>; + + declare type Predicate = + | ((value: T, index: number, array: Array) => any) + | matchesIterateeShorthand + | matchesPropertyIterateeShorthand + | propertyIterateeShorthand; + + declare type _ValueOnlyIteratee = (value: T) => mixed; + declare type ValueOnlyIteratee = _ValueOnlyIteratee | string; + declare type _Iteratee = ( + item: T, + index: number, + array: ?Array + ) => mixed; + declare type Iteratee = _Iteratee | Object | string; + declare type FlatMapIteratee = + | ((item: T, index: number, array: ?$ReadOnlyArray) => Array) + | Object + | string; + declare type Comparator = (item: T, item2: T) => boolean; + + declare type MapIterator = + | ((item: T, index: number, array: Array) => U) + | propertyIterateeShorthand; + + declare type ReadOnlyMapIterator = + | ((item: T, index: number, array: $ReadOnlyArray) => U) + | propertyIterateeShorthand; + + declare type OMapIterator = + | ((item: T, key: string, object: O) => U) + | propertyIterateeShorthand; + + declare class Lodash { + // Array + chunk(array?: ?Array, size?: ?number): Array>; + compact(array?: ?Array): Array; + concat(base?: ?$ReadOnlyArray, ...elements: Array): Array; + difference(array?: ?$ReadOnlyArray, ...values: Array>): Array; + differenceBy( + array?: ?$ReadOnlyArray, + values?: ?$ReadOnlyArray, + iteratee?: ?ValueOnlyIteratee + ): T[]; + differenceWith(array?: ?$ReadOnlyArray, values?: ?$ReadOnlyArray, comparator?: ?Comparator): T[]; + drop(array?: ?Array, n?: ?number): Array; + dropRight(array?: ?Array, n?: ?number): Array; + dropRightWhile(array?: ?Array, predicate?: ?Predicate): Array; + dropWhile(array?: ?Array, predicate?: ?Predicate): Array; + fill( + array?: ?Array, + value?: ?U, + start?: ?number, + end?: ?number + ): Array; + findIndex( + array: $ReadOnlyArray, + predicate?: ?Predicate, + fromIndex?: ?number + ): number; + findIndex( + array: void | null, + predicate?: ?Predicate, + fromIndex?: ?number + ): -1; + findLastIndex( + array: $ReadOnlyArray, + predicate?: ?Predicate, + fromIndex?: ?number + ): number; + findLastIndex( + array: void | null, + predicate?: ?Predicate, + fromIndex?: ?number + ): -1; + // alias of _.head + first(array: ?$ReadOnlyArray): T; + flatten(array?: ?Array | X>): Array; + flattenDeep(array?: ?any[]): Array; + flattenDepth(array?: ?any[], depth?: ?number): any[]; + fromPairs(pairs?: ?Array<[A, B]>): { [key: A]: B }; + head(array: ?$ReadOnlyArray): T; + indexOf(array: Array, value: T, fromIndex?: number): number; + indexOf(array: void | null, value?: ?T, fromIndex?: ?number): -1; + initial(array: ?Array): Array; + intersection(...arrays?: Array>): Array; + //Workaround until (...parameter: T, parameter2: U) works + intersectionBy(a1?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; + intersectionBy( + a1?: ?Array, + a2?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): Array; + intersectionBy( + a1?: ?Array, + a2?: ?Array, + a3?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): Array; + intersectionBy( + a1?: ?Array, + a2?: ?Array, + a3?: ?Array, + a4?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): Array; + //Workaround until (...parameter: T, parameter2: U) works + intersectionWith(a1?: ?Array, comparator?: ?Comparator): Array; + intersectionWith( + a1?: ?Array, + a2?: ?Array, + comparator?: ?Comparator + ): Array; + intersectionWith( + a1?: ?Array, + a2?: ?Array, + a3?: ?Array, + comparator?: ?Comparator + ): Array; + intersectionWith( + a1?: ?Array, + a2?: ?Array, + a3?: ?Array, + a4?: ?Array, + comparator?: ?Comparator + ): Array; + join(array: Array, separator?: ?string): string; + join(array: void | null, separator?: ?string): ''; + last(array: ?$ReadOnlyArray): T; + lastIndexOf(array: Array, value?: ?T, fromIndex?: ?number): number; + lastIndexOf(array: void | null, value?: ?T, fromIndex?: ?number): -1; + nth(array: T[], n?: ?number): T; + nth(array: void | null, n?: ?number): void; + pull(array: Array, ...values?: Array): Array; + pull(array: T, ...values?: Array): T; + pullAll(array: Array, values?: ?Array): Array; + pullAll(array: T, values?: ?Array): T; + pullAllBy( + array: Array, + values?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): Array; + pullAllBy( + array: T, + values?: ?Array, + iteratee?: ?ValueOnlyIteratee + ): T; + pullAllWith(array: T[], values?: ?T[], comparator?: ?Function): T[]; + pullAllWith(array: T, values?: ?Array, comparator?: ?Function): T; + pullAt(array?: ?Array, ...indexed?: Array): Array; + pullAt(array?: ?Array, indexed?: ?Array): Array; + remove(array?: ?Array, predicate?: ?Predicate): Array; + reverse(array: Array): Array; + reverse(array: T): T; + slice(array?: ?$ReadOnlyArray, start?: ?number, end?: ?number): Array; + sortedIndex(array: Array, value: T): number; + sortedIndex(array: void | null, value: ?T): 0; + sortedIndexBy( + array: Array, + value?: ?T, + iteratee?: ?ValueOnlyIteratee + ): number; + sortedIndexBy( + array: void | null, + value?: ?T, + iteratee?: ?ValueOnlyIteratee + ): 0; + sortedIndexOf(array: Array, value: T): number; + sortedIndexOf(array: void | null, value?: ?T): -1; + sortedLastIndex(array: Array, value: T): number; + sortedLastIndex(array: void | null, value?: ?T): 0; + sortedLastIndexBy( + array: Array, + value: T, + iteratee?: ValueOnlyIteratee + ): number; + sortedLastIndexBy( + array: void | null, + value?: ?T, + iteratee?: ?ValueOnlyIteratee + ): 0; + sortedLastIndexOf(array: Array, value: T): number; + sortedLastIndexOf(array: void | null, value?: ?T): -1; + sortedUniq(array?: ?Array): Array; + sortedUniqBy(array?: ?Array, iteratee?: ?(value: T) => mixed): Array; + tail(array?: ?Array): Array; + take(array?: ?Array, n?: ?number): Array; + takeRight(array?: ?Array, n?: ?number): Array; + takeRightWhile(array?: ?Array, predicate?: ?Predicate): Array; + takeWhile(array?: ?Array, predicate?: ?Predicate): Array; + union(...arrays?: Array>): Array; + //Workaround until (...parameter: T, parameter2: U) works + unionBy(a1?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; + unionBy( + a1?: ?Array, + a2: Array, + iteratee?: ValueOnlyIteratee + ): Array; + unionBy( + a1: Array, + a2: Array, + a3: Array, + iteratee?: ValueOnlyIteratee + ): Array; + unionBy( + a1: Array, + a2: Array, + a3: Array, + a4: Array, + iteratee?: ValueOnlyIteratee + ): Array; + //Workaround until (...parameter: T, parameter2: U) works + unionWith(a1?: ?Array, comparator?: ?Comparator): Array; + unionWith( + a1: Array, + a2: Array, + comparator?: Comparator + ): Array; + unionWith( + a1: Array, + a2: Array, + a3: Array, + comparator?: Comparator + ): Array; + unionWith( + a1: Array, + a2: Array, + a3: Array, + a4: Array, + comparator?: Comparator + ): Array; + uniq(array?: ?Array): Array; + uniqBy(array?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; + uniqWith(array?: ?Array, comparator?: ?Comparator): Array; + unzip(array?: ?Array): Array; + unzipWith(array: ?Array, iteratee?: ?Iteratee): Array; + without(array?: ?$ReadOnlyArray, ...values?: Array): Array; + xor(...array: Array>): Array; + //Workaround until (...parameter: T, parameter2: U) works + xorBy(a1?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; + xorBy( + a1: Array, + a2: Array, + iteratee?: ValueOnlyIteratee + ): Array; + xorBy( + a1: Array, + a2: Array, + a3: Array, + iteratee?: ValueOnlyIteratee + ): Array; + xorBy( + a1: Array, + a2: Array, + a3: Array, + a4: Array, + iteratee?: ValueOnlyIteratee + ): Array; + //Workaround until (...parameter: T, parameter2: U) works + xorWith(a1?: ?Array, comparator?: ?Comparator): Array; + xorWith( + a1: Array, + a2: Array, + comparator?: Comparator + ): Array; + xorWith( + a1: Array, + a2: Array, + a3: Array, + comparator?: Comparator + ): Array; + xorWith( + a1: Array, + a2: Array, + a3: Array, + a4: Array, + comparator?: Comparator + ): Array; + zip(a1?: ?A[], a2?: ?B[]): Array<[A, B]>; + zip(a1: A[], a2: B[], a3: C[]): Array<[A, B, C]>; + zip(a1: A[], a2: B[], a3: C[], a4: D[]): Array<[A, B, C, D]>; + zip( + a1: A[], + a2: B[], + a3: C[], + a4: D[], + a5: E[] + ): Array<[A, B, C, D, E]>; + + zipObject(props: Array, values?: ?Array): { [key: K]: V }; + zipObject(props: void | null, values?: ?Array): {}; + zipObjectDeep(props: any[], values?: ?any): Object; + zipObjectDeep(props: void | null, values?: ?any): {}; + + zipWith(a1?: ?Array): Array<[A]>; + zipWith(a1: Array, iteratee: (A) => T): Array; + + zipWith(a1: Array, a2: Array): Array<[A, B]>; + zipWith( + a1: Array, + a2: Array, + iteratee: (A, B) => T + ): Array; + + zipWith( + a1: Array, + a2: Array, + a3: Array + ): Array<[A, B, C]>; + zipWith( + a1: Array, + a2: Array, + a3: Array, + iteratee: (A, B, C) => T + ): Array; + + zipWith( + a1: Array, + a2: Array, + a3: Array, + a4: Array + ): Array<[A, B, C, D]>; + zipWith( + a1: Array, + a2: Array, + a3: Array, + a4: Array, + iteratee: (A, B, C, D) => T + ): Array; + + // Collection + countBy(array: Array, iteratee?: ?ValueOnlyIteratee): Object; + countBy(array: void | null, iteratee?: ?ValueOnlyIteratee): {}; + countBy(object: T, iteratee?: ?ValueOnlyIteratee): Object; + // alias of _.forEach + each(array: $ReadOnlyArray, iteratee?: ?Iteratee): Array; + each(array: T, iteratee?: ?Iteratee): T; + each(object: T, iteratee?: ?OIteratee): T; + // alias of _.forEachRight + eachRight(array: $ReadOnlyArray, iteratee?: ?Iteratee): Array; + eachRight(array: T, iteratee?: ?Iteratee): T; + eachRight(object: T, iteratee?: OIteratee): T; + every(array?: ?$ReadOnlyArray, iteratee?: ?Iteratee): boolean; + every(object: T, iteratee?: OIteratee): boolean; + filter(array?: ?$ReadOnlyArray, predicate?: ?Predicate): Array; + filter( + object: T, + predicate?: OPredicate + ): Array; + find( + array: $ReadOnlyArray, + predicate?: ?Predicate, + fromIndex?: ?number + ): T | void; + find( + array: void | null, + predicate?: ?Predicate, + fromIndex?: ?number + ): void; + find( + object: T, + predicate?: OPredicate, + fromIndex?: number + ): V; + findLast( + array: ?$ReadOnlyArray, + predicate?: ?Predicate, + fromIndex?: ?number + ): T | void; + findLast( + object: T, + predicate?: ?OPredicate + ): V; + flatMap( + array?: ?$ReadOnlyArray, + iteratee?: ?FlatMapIteratee + ): Array; + flatMap( + object: T, + iteratee?: OFlatMapIteratee + ): Array; + flatMapDeep( + array?: ?$ReadOnlyArray, + iteratee?: ?FlatMapIteratee + ): Array; + flatMapDeep( + object: T, + iteratee?: ?OFlatMapIteratee + ): Array; + flatMapDepth( + array?: ?Array, + iteratee?: ?FlatMapIteratee, + depth?: ?number + ): Array; + flatMapDepth( + object: T, + iteratee?: OFlatMapIteratee, + depth?: number + ): Array; + forEach(array: $ReadOnlyArray, iteratee?: ?Iteratee): Array; + forEach(array: T, iteratee?: ?Iteratee): T; + forEach(object: T, iteratee?: ?OIteratee): T; + forEachRight(array: $ReadOnlyArray, iteratee?: ?Iteratee): Array; + forEachRight(array: T, iteratee?: ?Iteratee): T; + forEachRight(object: T, iteratee?: ?OIteratee): T; + groupBy( + array: $ReadOnlyArray, + iteratee?: ?ValueOnlyIteratee + ): { [key: V]: Array }; + groupBy( + array: void | null, + iteratee?: ?ValueOnlyIteratee + ): {}; + groupBy( + object: T, + iteratee?: ValueOnlyIteratee + ): { [key: V]: Array }; + includes(array: $ReadOnlyArray, value: T, fromIndex?: ?number): boolean; + includes(array: void | null, value?: ?T, fromIndex?: ?number): false; + includes(object: T, value: any, fromIndex?: number): boolean; + includes(str: string, value: string, fromIndex?: number): boolean; + invokeMap( + array?: ?Array, + path?: ?((value: T) => Array | string) | Array | string, + ...args?: Array + ): Array; + invokeMap( + object: T, + path: ((value: any) => Array | string) | Array | string, + ...args?: Array + ): Array; + keyBy( + array: $ReadOnlyArray, + iteratee?: ?ValueOnlyIteratee + ): { [key: V]: ?T }; + keyBy( + array: void | null, + iteratee?: ?ValueOnlyIteratee<*> + ): {}; + keyBy( + object: T, + iteratee?: ?ValueOnlyIteratee + ): { [key: V]: ?A }; + map(array?: ?Array, iteratee?: ?MapIterator): Array; + map( + array: ?$ReadOnlyArray, + iteratee?: ReadOnlyMapIterator + ): Array, + map( + object: ?T, + iteratee?: OMapIterator + ): Array; + map( + str: ?string, + iteratee?: (char: string, index: number, str: string) => any + ): string; + orderBy( + array: $ReadOnlyArray, + iteratees?: ?$ReadOnlyArray> | ?string, + orders?: ?$ReadOnlyArray<"asc" | "desc"> | ?string + ): Array; + orderBy( + array: null | void, + iteratees?: ?$ReadOnlyArray> | ?string, + orders?: ?$ReadOnlyArray<"asc" | "desc"> | ?string + ): Array; + orderBy( + object: T, + iteratees?: $ReadOnlyArray> | string, + orders?: $ReadOnlyArray<"asc" | "desc"> | string + ): Array; + partition( + array?: ?Array, + predicate?: ?Predicate + ): [Array, Array]; + partition( + object: T, + predicate?: OPredicate + ): [Array, Array]; + reduce( + array: Array, + iteratee?: ( + accumulator: U, + value: T, + index: number, + array: ?Array + ) => U, + accumulator?: U + ): U; + reduce( + array: void | null, + iteratee?: ?( + accumulator: U, + value: T, + index: number, + array: ?Array + ) => U, + accumulator?: ?U + ): void | null; + reduce( + object: T, + iteratee?: (accumulator: U, value: any, key: string, object: T) => U, + accumulator?: U + ): U; + reduceRight( + array: void | null, + iteratee?: ?( + accumulator: U, + value: T, + index: number, + array: ?Array + ) => U, + accumulator?: ?U + ): void | null; + reduceRight( + array: Array, + iteratee?: ?( + accumulator: U, + value: T, + index: number, + array: ?Array + ) => U, + accumulator?: ?U + ): U; + reduceRight( + object: T, + iteratee?: ?(accumulator: U, value: any, key: string, object: T) => U, + accumulator?: ?U + ): U; + reject(array: ?$ReadOnlyArray, predicate?: Predicate): Array; + reject( + object?: ?T, + predicate?: ?OPredicate + ): Array; + sample(array: ?Array): T; + sample(object: T): V; + sampleSize(array?: ?Array, n?: ?number): Array; + sampleSize(object: T, n?: number): Array; + shuffle(array: ?Array): Array; + shuffle(object: T): Array; + size(collection: $ReadOnlyArray | Object | string): number; + some(array: ?$ReadOnlyArray, predicate?: Predicate): boolean; + some(array: void | null, predicate?: ?Predicate): false; + some( + object?: ?T, + predicate?: OPredicate + ): boolean; + sortBy( + array: ?$ReadOnlyArray, + ...iteratees?: $ReadOnlyArray> + ): Array; + sortBy( + array: ?$ReadOnlyArray, + iteratees?: $ReadOnlyArray> + ): Array; + sortBy( + object: T, + ...iteratees?: Array> + ): Array; + sortBy( + object: T, + iteratees?: $ReadOnlyArray> + ): Array; + + // Date + now(): number; + + // Function + after(n: number, fn: Function): Function; + ary(func: Function, n?: number): Function; + before(n: number, fn: Function): Function; + bind(func: Function, thisArg: any, ...partials: Array): Function; + bindKey(obj?: ?Object, key?: ?string, ...partials?: Array): Function; + curry: Curry; + curry(func: Function, arity?: number): Function; + curryRight(func: Function, arity?: number): Function; + debounce(func: F, wait?: number, options?: DebounceOptions): F; + defer(func: Function, ...args?: Array): TimeoutID; + delay(func: Function, wait: number, ...args?: Array): TimeoutID; + flip(func: Function): Function; + memoize(func: F, resolver?: Function): F; + negate(predicate: Function): Function; + once(func: Function): Function; + overArgs(func?: ?Function, ...transforms?: Array): Function; + overArgs(func?: ?Function, transforms?: ?Array): Function; + partial(func: Function, ...partials: any[]): Function; + partialRight(func: Function, ...partials: Array): Function; + partialRight(func: Function, partials: Array): Function; + rearg(func: Function, ...indexes: Array): Function; + rearg(func: Function, indexes: Array): Function; + rest(func: Function, start?: number): Function; + spread(func: Function): Function; + throttle( + func: Function, + wait?: number, + options?: ThrottleOptions + ): Function; + unary(func: Function): Function; + wrap(value?: any, wrapper?: ?Function): Function; + + // Lang + castArray(value: *): any[]; + clone(value: T): T; + cloneDeep(value: T): T; + cloneDeepWith( + value: T, + customizer?: ?(value: T, key: number | string, object: T, stack: any) => U + ): U; + cloneWith( + value: T, + customizer?: ?(value: T, key: number | string, object: T, stack: any) => U + ): U; + conformsTo( + source: T, + predicates: T & { [key: string]: (x: any) => boolean } + ): boolean; + eq(value: any, other: any): boolean; + gt(value: any, other: any): boolean; + gte(value: any, other: any): boolean; + isArguments(value: void | null): false; + isArguments(value: any): boolean; + isArray(value: Array): true; + isArray(value: any): false; + isArrayBuffer(value: ArrayBuffer): true; + isArrayBuffer(value: any): false; + isArrayLike(value: Array | string | {length: number}): true; + isArrayLike(value: any): false; + isArrayLikeObject(value: {length: number} | Array): true; + isArrayLikeObject(value: any): false; + isBoolean(value: boolean): true; + isBoolean(value: any): false; + isBuffer(value: void | null): false; + isBuffer(value: any): boolean; + isDate(value: Date): true; + isDate(value: any): false; + isElement(value: Element): true; + isElement(value: any): false; + isEmpty(value: void | null | '' | {} | [] | number | boolean): true; + isEmpty(value: any): boolean; + isEqual(value: any, other: any): boolean; + isEqualWith( + value?: ?T, + other?: ?U, + customizer?: ?( + objValue: any, + otherValue: any, + key: number | string, + object: T, + other: U, + stack: any + ) => boolean | void + ): boolean; + isError(value: Error): true; + isError(value: any): false; + isFinite(value: number): boolean; + isFinite(value: any): false; + isFunction(value: Function): true; + isFunction(value: any): false; + isInteger(value: number): boolean; + isInteger(value: any): false; + isLength(value: void | null): false; + isLength(value: any): boolean; + isMap(value: Map): true; + isMap(value: any): false; + isMatch(object?: ?Object, source?: ?Object): boolean; + isMatchWith( + object?: ?T, + source?: ?U, + customizer?: ?( + objValue: any, + srcValue: any, + key: number | string, + object: T, + source: U + ) => boolean | void + ): boolean; + isNaN(value: number): boolean; + isNaN(value: any): false; + isNative(value: number | string | void | null | Object): false; + isNative(value: any): boolean; + isNil(value: void | null): true; + isNil(value: any): false; + isNull(value: null): true; + isNull(value: any): false; + isNumber(value: number): true; + isNumber(value: any): false; + isObject(value: Object): true; + isObject(value: any): false; + isObjectLike(value: void | null): false; + isObjectLike(value: any): boolean; + isPlainObject(value: Object): true; + isPlainObject(value: any): false; + isRegExp(value: RegExp): true; + isRegExp(value: any): false; + isSafeInteger(value: number): boolean; + isSafeInteger(value: any): false; + isSet(value: Set): true; + isSet(value: any): false; + isString(value: string): true; + isString(value: any): false; + isSymbol(value: Symbol): true; + isSymbol(value: any): false; + isTypedArray(value: $TypedArray): true; + isTypedArray(value: any): false; + isUndefined(value: void): true; + isUndefined(value: any): false; + isWeakMap(value: WeakMap): true; + isWeakMap(value: any): false; + isWeakSet(value: WeakSet): true; + isWeakSet(value: any): false; + lt(value: any, other: any): boolean; + lte(value: any, other: any): boolean; + toArray(value: any): Array; + toFinite(value: void | null): 0; + toFinite(value: any): number; + toInteger(value: void | null): 0; + toInteger(value: any): number; + toLength(value: void | null): 0; + toLength(value: any): number; + toNumber(value: void | null): 0; + toNumber(value: any): number; + toPlainObject(value: any): Object; + toSafeInteger(value: void | null): 0; + toSafeInteger(value: any): number; + toString(value: void | null): ''; + toString(value: any): string; + + // Math + add(augend: number, addend: number): number; + ceil(number: number, precision?: number): number; + divide(dividend: number, divisor: number): number; + floor(number: number, precision?: number): number; + max(array: ?Array): T; + maxBy(array: ?$ReadOnlyArray, iteratee?: Iteratee): T; + mean(array: Array<*>): number; + meanBy(array: Array, iteratee?: Iteratee): number; + min(array: ?Array): T; + minBy(array: ?$ReadOnlyArray, iteratee?: Iteratee): T; + multiply(multiplier: number, multiplicand: number): number; + round(number: number, precision?: number): number; + subtract(minuend: number, subtrahend: number): number; + sum(array: Array<*>): number; + sumBy(array: Array, iteratee?: Iteratee): number; + + // number + clamp(number?: number, lower?: ?number, upper?: ?number): number; + clamp(number: ?number, lower?: ?number, upper?: ?number): 0; + inRange(number: number, start?: number, end: number): boolean; + random(lower?: number, upper?: number, floating?: boolean): number; + + // Object + assign(object?: ?Object, ...sources?: Array): Object; + assignIn(): {}; + assignIn(a: A, b: B): A & B; + assignIn(a: A, b: B, c: C): A & B & C; + assignIn(a: A, b: B, c: C, d: D): A & B & C & D; + assignIn(a: A, b: B, c: C, d: D, e: E): A & B & C & D & E; + assignInWith(): {}; + assignInWith( + object: T, + s1: A, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): Object; + assignInWith( + object: T, + s1: A, + s2: B, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void + ): Object; + assignInWith( + object: T, + s1: A, + s2: B, + s3: C, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C + ) => any | void + ): Object; + assignInWith( + object: T, + s1: A, + s2: B, + s3: C, + s4: D, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C | D + ) => any | void + ): Object; + assignWith(): {}; + assignWith( + object: T, + s1: A, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): Object; + assignWith( + object: T, + s1: A, + s2: B, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void + ): Object; + assignWith( + object: T, + s1: A, + s2: B, + s3: C, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C + ) => any | void + ): Object; + assignWith( + object: T, + s1: A, + s2: B, + s3: C, + s4: D, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C | D + ) => any | void + ): Object; + at(object?: ?Object, ...paths: Array): Array; + at(object?: ?Object, paths: Array): Array; + create(prototype: T, properties: Object): $Supertype; + create(prototype: any, properties: void | null): {}; + defaults(object?: ?Object, ...sources?: Array): Object; + defaultsDeep(object?: ?Object, ...sources?: Array): Object; + // alias for _.toPairs + entries(object?: ?Object): Array<[string, any]>; + // alias for _.toPairsIn + entriesIn(object?: ?Object): Array<[string, any]>; + // alias for _.assignIn + extend(a?: ?A, b?: ?B): A & B; + extend(a: A, b: B, c: C): A & B & C; + extend(a: A, b: B, c: C, d: D): A & B & C & D; + extend(a: A, b: B, c: C, d: D, e: E): A & B & C & D & E; + // alias for _.assignInWith + extendWith( + object?: ?T, + s1?: ?A, + customizer?: ?( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): Object; + extendWith( + object: T, + s1: A, + s2: B, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void + ): Object; + extendWith( + object: T, + s1: A, + s2: B, + s3: C, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C + ) => any | void + ): Object; + extendWith( + object: T, + s1: A, + s2: B, + s3: C, + s4: D, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C | D + ) => any | void + ): Object; + findKey( + object: T, + predicate?: ?OPredicate + ): string | void; + findKey( + object: void | null, + predicate?: ?OPredicate + ): void; + findLastKey( + object: T, + predicate?: ?OPredicate + ): string | void; + findLastKey( + object: void | null, + predicate?: ?OPredicate + ): void; + forIn(object: Object, iteratee?: ?OIteratee<*>): Object; + forIn(object: void | null, iteratee?: ?OIteratee<*>): null; + forInRight(object: Object, iteratee?: ?OIteratee<*>): Object; + forInRight(object: void | null, iteratee?: ?OIteratee<*>): null; + forOwn(object: Object, iteratee?: ?OIteratee<*>): Object; + forOwn(object: void | null, iteratee?: ?OIteratee<*>): null; + forOwnRight(object: Object, iteratee?: ?OIteratee<*>): Object; + forOwnRight(object: void | null, iteratee?: ?OIteratee<*>): null; + functions(object?: ?Object): Array; + functionsIn(object?: ?Object): Array; + get( + object?: ?Object | ?$ReadOnlyArray | void | null, + path?: ?$ReadOnlyArray | string | number, + defaultValue?: any + ): any; + has(object: Object, path: Array | string): boolean; + has(object: Object, path: void | null): false; + has(object: void | null, path?: ?Array | ?string): false; + hasIn(object: Object, path: Array | string): boolean; + hasIn(object: Object, path: void | null): false; + hasIn(object: void | null, path?: ?Array | ?string): false; + invert(object: Object, multiVal?: ?boolean): Object; + invert(object: void | null, multiVal?: ?boolean): {}; + invertBy(object: Object, iteratee?: ?Function): Object; + invertBy(object: void | null, iteratee?: ?Function): {}; + invoke( + object?: ?Object, + path?: ?Array | string, + ...args?: Array + ): any; + keys(object?: ?{ [key: K]: any }): Array; + keys(object?: ?Object): Array; + keysIn(object?: ?Object): Array; + mapKeys(object: Object, iteratee?: ?OIteratee<*>): Object; + mapKeys(object: void | null, iteratee?: ?OIteratee<*>): {}; + mapValues(object: Object, iteratee?: ?OIteratee<*>): Object; + mapValues(object: void | null, iteratee?: ?OIteratee<*>): {}; + merge(object?: ?Object, ...sources?: Array): Object; + mergeWith(): {}; + mergeWith( + object: T, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): Object; + mergeWith( + object: T, + s1: A, + s2: B, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void + ): Object; + mergeWith( + object: T, + s1: A, + s2: B, + s3: C, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C + ) => any | void + ): Object; + mergeWith( + object: T, + s1: A, + s2: B, + s3: C, + s4: D, + customizer?: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B | C | D + ) => any | void + ): Object; + omit(object?: ?Object, ...props: Array): Object; + omit(object?: ?Object, props: Array): Object; + omitBy( + object: T, + predicate?: ?OPredicate + ): Object; + omitBy( + object: T, + predicate?: ?OPredicate + ): {}; + pick(object?: ?Object, ...props: Array): Object; + pick(object?: ?Object, props: Array): Object; + pickBy( + object: T, + predicate?: ?OPredicate + ): Object; + pickBy( + object: T, + predicate?: ?OPredicate + ): {}; + result( + object?: ?Object, + path?: ?Array | string, + defaultValue?: any + ): any; + set(object: Object, path?: ?Array | string, value: any): Object; + set( + object: T, + path?: ?Array | string, + value?: ?any): T; + setWith( + object: T, + path?: ?Array | string, + value: any, + customizer?: (nsValue: any, key: string, nsObject: T) => any + ): Object; + setWith( + object: T, + path?: ?Array | string, + value?: ?any, + customizer?: ?(nsValue: any, key: string, nsObject: T) => any + ): T; + toPairs(object?: ?Object | Array<*>): Array<[string, any]>; + toPairsIn(object?: ?Object): Array<[string, any]>; + transform( + collection: Object | $ReadOnlyArray, + iteratee?: ?OIteratee<*>, + accumulator?: any + ): any; + transform( + collection: void | null, + iteratee?: ?OIteratee<*>, + accumulator?: ?any + ): {}; + unset(object: Object, path?: ?Array | ?string): boolean; + unset(object: void | null, path?: ?Array | ?string): true; + update(object: Object, path: string[] | string, updater: Function): Object; + update( + object: T, + path?: ?string[] | ?string, + updater?: ?Function): T; + updateWith( + object: Object, + path?: ?string[] | ?string, + updater?: ?Function, + customizer?: ?Function + ): Object; + updateWith( + object: T, + path?: ?string[] | ?string, + updater?: ?Function, + customizer?: ?Function + ): T; + values(object?: ?Object): Array; + valuesIn(object?: ?Object): Array; + + // Seq + // harder to read, but this is _() + (value: any): any; + chain(value: T): any; + tap(value: T, interceptor: (value: T) => any): T; + thru(value: T1, interceptor: (value: T1) => T2): T2; + // TODO: _.prototype.* + + // String + camelCase(string: string): string; + camelCase(string: void | null): ''; + capitalize(string: string): string; + capitalize(string: void | null): ''; + deburr(string: string): string; + deburr(string: void | null): ''; + endsWith(string: string, target?: string, position?: ?number): boolean; + endsWith(string: void | null, target?: ?string, position?: ?number): false; + escape(string: string): string; + escape(string: void | null): ''; + escapeRegExp(string: string): string; + escapeRegExp(string: void | null): ''; + kebabCase(string: string): string; + kebabCase(string: void | null): ''; + lowerCase(string: string): string; + lowerCase(string: void | null): ''; + lowerFirst(string: string): string; + lowerFirst(string: void | null): ''; + pad(string?: ?string, length?: ?number, chars?: ?string): string; + padEnd(string?: ?string, length?: ?number, chars?: ?string): string; + padStart(string?: ?string, length?: ?number, chars?: ?string): string; + parseInt(string: string, radix?: ?number): number; + repeat(string: string, n?: ?number): string; + repeat(string: void | null, n?: ?number): ''; + replace( + string: string, + pattern: RegExp | string, + replacement: ((string: string) => string) | string + ): string; + replace( + string: void | null, + pattern?: ?RegExp | ?string, + replacement: ?((string: string) => string) | ?string + ): ''; + snakeCase(string: string): string; + snakeCase(string: void | null): ''; + split( + string?: ?string, + separator?: ?RegExp | ?string, + limit?: ?number + ): Array; + startCase(string: string): string; + startCase(string: void | null): ''; + startsWith(string: string, target?: string, position?: number): boolean; + startsWith(string: void | null, target?: ?string, position?: ?number): false; + template(string?: ?string, options?: ?TemplateSettings): Function; + toLower(string: string): string; + toLower(string: void | null): ''; + toUpper(string: string): string; + toUpper(string: void | null): ''; + trim(string: string, chars?: string): string; + trim(string: void | null, chars?: ?string): ''; + trimEnd(string: string, chars?: ?string): string; + trimEnd(string: void | null, chars?: ?string): ''; + trimStart(string: string, chars?: ?string): string; + trimStart(string: void | null, chars?: ?string): ''; + truncate(string: string, options?: TruncateOptions): string; + truncate(string: void | null, options?: ?TruncateOptions): ''; + unescape(string: string): string; + unescape(string: void | null): ''; + upperCase(string: string): string; + upperCase(string: void | null): ''; + upperFirst(string: string): string; + upperFirst(string: void | null): ''; + words(string?: ?string, pattern?: ?RegExp | ?string): Array; + + // Util + attempt(func: Function, ...args: Array): any; + bindAll(object: Object, methodNames?: ?Array): Object; + bindAll(object: T, methodNames?: ?Array): T; + bindAll(object: Object, ...methodNames: Array): Object; + cond(pairs?: ?NestedArray): Function; + conforms(source?: ?Object): Function; + constant(value: T): () => T; + defaultTo( + value: T1, + defaultValue: T2 + ): T1; + // NaN is a number instead of its own type, otherwise it would behave like null/void + defaultTo(value: T1, defaultValue: T2): T1 | T2; + defaultTo(value: T1, defaultValue: T2): T2; + flow: ($ComposeReverse & (funcs: Array) => Function); + flowRight: ($Compose & (funcs: Array) => Function); + identity(value: T): T; + iteratee(func?: any): Function; + matches(source?: ?Object): Function; + matchesProperty(path?: ?Array | string, srcValue: any): Function; + method(path?: ?Array | string, ...args?: Array): Function; + methodOf(object?: ?Object, ...args?: Array): Function; + mixin( + object?: T, + source: Object, + options?: { chain: boolean } + ): T; + noConflict(): Lodash; + noop(...args: Array): void; + nthArg(n?: ?number): Function; + over(...iteratees: Array): Function; + over(iteratees: Array): Function; + overEvery(...predicates: Array): Function; + overEvery(predicates: Array): Function; + overSome(...predicates: Array): Function; + overSome(predicates: Array): Function; + property(path?: ?Array | string): Function; + propertyOf(object?: ?Object): Function; + range(start: number, end: number, step?: number): Array; + range(end: number, step?: number): Array; + rangeRight(start?: ?number, end?: ?number, step?: ?number): Array; + rangeRight(end?: ?number, step?: ?number): Array; + runInContext(context?: ?Object): Function; + + stubArray(): Array<*>; + stubFalse(): false; + stubObject(): {}; + stubString(): ""; + stubTrue(): true; + times(n?: ?number, ...rest?: Array): Array; + times(n: number, iteratee: (i: number) => T): Array; + toPath(value: any): Array; + uniqueId(prefix?: ?string): string; + + // Properties + VERSION: string; + templateSettings: TemplateSettings; + } + + declare module.exports: Lodash; +} + +declare module "lodash/fp" { + declare type __CurriedFunction1 = (...r: [AA]) => R; + declare type CurriedFunction1 = __CurriedFunction1; + + declare type __CurriedFunction2 = (( + ...r: [AA] + ) => CurriedFunction1) & + ((...r: [AA, BB]) => R); + declare type CurriedFunction2 = __CurriedFunction2; + + declare type __CurriedFunction3 = (( + ...r: [AA] + ) => CurriedFunction2) & + ((...r: [AA, BB]) => CurriedFunction1) & + ((...r: [AA, BB, CC]) => R); + declare type CurriedFunction3 = __CurriedFunction3< + A, + B, + C, + R, + *, + *, + * + >; + + declare type __CurriedFunction4< + A, + B, + C, + D, + R, + AA: A, + BB: B, + CC: C, + DD: D + > = ((...r: [AA]) => CurriedFunction3) & + ((...r: [AA, BB]) => CurriedFunction2) & + ((...r: [AA, BB, CC]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD]) => R); + declare type CurriedFunction4 = __CurriedFunction4< + A, + B, + C, + D, + R, + *, + *, + *, + * + >; + + declare type __CurriedFunction5< + A, + B, + C, + D, + E, + R, + AA: A, + BB: B, + CC: C, + DD: D, + EE: E + > = ((...r: [AA]) => CurriedFunction4) & + ((...r: [AA, BB]) => CurriedFunction3) & + ((...r: [AA, BB, CC]) => CurriedFunction2) & + ((...r: [AA, BB, CC, DD]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD, EE]) => R); + declare type CurriedFunction5 = __CurriedFunction5< + A, + B, + C, + D, + E, + R, + *, + *, + *, + *, + * + >; + + declare type __CurriedFunction6< + A, + B, + C, + D, + E, + F, + R, + AA: A, + BB: B, + CC: C, + DD: D, + EE: E, + FF: F + > = ((...r: [AA]) => CurriedFunction5) & + ((...r: [AA, BB]) => CurriedFunction4) & + ((...r: [AA, BB, CC]) => CurriedFunction3) & + ((...r: [AA, BB, CC, DD]) => CurriedFunction2) & + ((...r: [AA, BB, CC, DD, EE]) => CurriedFunction1) & + ((...r: [AA, BB, CC, DD, EE, FF]) => R); + declare type CurriedFunction6 = __CurriedFunction6< + A, + B, + C, + D, + E, + F, + R, + *, + *, + *, + *, + *, + * + >; + + declare type Curry = (((...r: [A]) => R) => CurriedFunction1) & + (((...r: [A, B]) => R) => CurriedFunction2) & + (((...r: [A, B, C]) => R) => CurriedFunction3) & + (( + (...r: [A, B, C, D]) => R + ) => CurriedFunction4) & + (( + (...r: [A, B, C, D, E]) => R + ) => CurriedFunction5) & + (( + (...r: [A, B, C, D, E, F]) => R + ) => CurriedFunction6); + + declare type UnaryFn = (a: A) => R; + + declare type TemplateSettings = { + escape?: RegExp, + evaluate?: RegExp, + imports?: Object, + interpolate?: RegExp, + variable?: string + }; + + declare type TruncateOptions = { + length?: number, + omission?: string, + separator?: RegExp | string + }; + + declare type DebounceOptions = { + leading?: boolean, + maxWait?: number, + trailing?: boolean + }; + + declare type ThrottleOptions = { + leading?: boolean, + trailing?: boolean + }; + + declare type NestedArray = Array>; + + declare type matchesIterateeShorthand = Object; + declare type matchesPropertyIterateeShorthand = [string, any]; + declare type propertyIterateeShorthand = string; + + declare type OPredicate = + | ((value: A) => any) + | matchesIterateeShorthand + | matchesPropertyIterateeShorthand + | propertyIterateeShorthand; + + declare type OIterateeWithResult = Object | string | ((value: V) => R); + declare type OIteratee = OIterateeWithResult; + declare type OFlatMapIteratee = OIterateeWithResult>; + + declare type Predicate = + | ((value: T) => any) + | matchesIterateeShorthand + | matchesPropertyIterateeShorthand + | propertyIterateeShorthand; + + declare type _ValueOnlyIteratee = (value: T) => mixed; + declare type ValueOnlyIteratee = _ValueOnlyIteratee | string; + declare type _Iteratee = (item: T) => mixed; + declare type Iteratee = _Iteratee | Object | string; + declare type FlatMapIteratee = + | ((item: T) => Array) + | Object + | string; + declare type Comparator = (item: T, item2: T) => boolean; + + declare type MapIterator = ((item: T) => U) | propertyIterateeShorthand; + + declare type OMapIterator = + | ((item: T) => U) + | propertyIterateeShorthand; + + declare class Lodash { + // Array + chunk(size: number): (array: Array) => Array>; + chunk(size: number, array: Array): Array>; + compact(array?: ?$ReadOnlyArray): Array; + concat | T, B: Array | U>( + base: A + ): (elements: B) => Array; + concat | T, B: Array | U>( + base: A, + elements: B + ): Array; + difference(values: $ReadOnlyArray): (array: $ReadOnlyArray) => T[]; + difference(values: $ReadOnlyArray, array: $ReadOnlyArray): T[]; + differenceBy( + iteratee: ValueOnlyIteratee + ): ((values: $ReadOnlyArray) => (array: $ReadOnlyArray) => T[]) & + ((values: $ReadOnlyArray, array: $ReadOnlyArray) => T[]); + differenceBy( + iteratee: ValueOnlyIteratee, + values: $ReadOnlyArray + ): (array: $ReadOnlyArray) => T[]; + differenceBy( + iteratee: ValueOnlyIteratee, + values: $ReadOnlyArray, + array: $ReadOnlyArray + ): T[]; + differenceWith( + comparator: Comparator, + ): ((first: $ReadOnly) => (second: $ReadOnly) => T[]) & + ((first: $ReadOnly, second: $ReadOnly) => T[]); + differenceWith( + comparator: Comparator, + first: $ReadOnly, + ): (second: $ReadOnly) => T[]; + differenceWith( + comparator: Comparator, + first: $ReadOnly, + second: $ReadOnly + ): T[]; + drop(n: number): (array: Array) => Array; + drop(n: number, array: Array): Array; + dropLast(n: number): (array: Array) => Array; + dropLast(n: number, array: Array): Array; + dropRight(n: number): (array: Array) => Array; + dropRight(n: number, array: Array): Array; + dropRightWhile(predicate: Predicate): (array: Array) => Array; + dropRightWhile(predicate: Predicate, array: Array): Array; + dropWhile(predicate: Predicate): (array: Array) => Array; + dropWhile(predicate: Predicate, array: Array): Array; + dropLastWhile(predicate: Predicate): (array: Array) => Array; + dropLastWhile(predicate: Predicate, array: Array): Array; + fill( + start: number + ): (( + end: number + ) => ((value: U) => (array: Array) => Array) & + ((value: U, array: Array) => Array)) & + ((end: number, value: U) => (array: Array) => Array) & + ((end: number, value: U, array: Array) => Array); + fill( + start: number, + end: number + ): ((value: U) => (array: Array) => Array) & + ((value: U, array: Array) => Array); + fill( + start: number, + end: number, + value: U + ): (array: Array) => Array; + fill( + start: number, + end: number, + value: U, + array: Array + ): Array; + findIndex(predicate: Predicate): (array: $ReadOnlyArray) => number; + findIndex(predicate: Predicate, array: $ReadOnlyArray): number; + findIndexFrom( + predicate: Predicate + ): ((fromIndex: number) => (array: $ReadOnlyArray) => number) & + ((fromIndex: number, array: $ReadOnlyArray) => number); + findIndexFrom( + predicate: Predicate, + fromIndex: number + ): (array: $ReadOnlyArray) => number; + findIndexFrom( + predicate: Predicate, + fromIndex: number, + array: $ReadOnlyArray + ): number; + findLastIndex( + predicate: Predicate + ): (array: $ReadOnlyArray) => number; + findLastIndex(predicate: Predicate, array: $ReadOnlyArray): number; + findLastIndexFrom( + predicate: Predicate + ): ((fromIndex: number) => (array: $ReadOnlyArray) => number) & + ((fromIndex: number, array: $ReadOnlyArray) => number); + findLastIndexFrom( + predicate: Predicate, + fromIndex: number + ): (array: $ReadOnlyArray) => number; + findLastIndexFrom( + predicate: Predicate, + fromIndex: number, + array: $ReadOnlyArray + ): number; + // alias of _.head + first(array: $ReadOnlyArray): T; + flatten(array: Array | X>): Array; + unnest(array: Array | X>): Array; + flattenDeep(array: any[]): Array; + flattenDepth(depth: number): (array: any[]) => any[]; + flattenDepth(depth: number, array: any[]): any[]; + fromPairs(pairs: Array<[A, B]>): { [key: A]: B }; + head(array: $ReadOnlyArray): T; + indexOf(value: T): (array: Array) => number; + indexOf(value: T, array: Array): number; + indexOfFrom( + value: T + ): ((fromIndex: number) => (array: Array) => number) & + ((fromIndex: number, array: Array) => number); + indexOfFrom(value: T, fromIndex: number): (array: Array) => number; + indexOfFrom(value: T, fromIndex: number, array: Array): number; + initial(array: Array): Array; + init(array: Array): Array; + intersection(a1: Array): (a2: Array) => Array; + intersection(a1: Array, a2: Array): Array; + intersectionBy( + iteratee: ValueOnlyIteratee + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + intersectionBy( + iteratee: ValueOnlyIteratee, + a1: Array + ): (a2: Array) => Array; + intersectionBy( + iteratee: ValueOnlyIteratee, + a1: Array, + a2: Array + ): Array; + intersectionWith( + comparator: Comparator + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + intersectionWith( + comparator: Comparator, + a1: Array + ): (a2: Array) => Array; + intersectionWith( + comparator: Comparator, + a1: Array, + a2: Array + ): Array; + join(separator: string): (array: Array) => string; + join(separator: string, array: Array): string; + last(array: Array): T; + lastIndexOf(value: T): (array: Array) => number; + lastIndexOf(value: T, array: Array): number; + lastIndexOfFrom( + value: T + ): ((fromIndex: number) => (array: Array) => number) & + ((fromIndex: number, array: Array) => number); + lastIndexOfFrom( + value: T, + fromIndex: number + ): (array: Array) => number; + lastIndexOfFrom(value: T, fromIndex: number, array: Array): number; + nth(n: number): (array: T[]) => T; + nth(n: number, array: T[]): T; + pull(value: T): (array: Array) => Array; + pull(value: T, array: Array): Array; + pullAll(values: Array): (array: Array) => Array; + pullAll(values: Array, array: Array): Array; + pullAllBy( + iteratee: ValueOnlyIteratee + ): ((values: Array) => (array: Array) => Array) & + ((values: Array, array: Array) => Array); + pullAllBy( + iteratee: ValueOnlyIteratee, + values: Array + ): (array: Array) => Array; + pullAllBy( + iteratee: ValueOnlyIteratee, + values: Array, + array: Array + ): Array; + pullAllWith( + comparator: Function + ): ((values: T[]) => (array: T[]) => T[]) & + ((values: T[], array: T[]) => T[]); + pullAllWith(comparator: Function, values: T[]): (array: T[]) => T[]; + pullAllWith(comparator: Function, values: T[], array: T[]): T[]; + pullAt(indexed: Array): (array: Array) => Array; + pullAt(indexed: Array, array: Array): Array; + remove(predicate: Predicate): (array: Array) => Array; + remove(predicate: Predicate, array: Array): Array; + reverse(array: Array): Array; + slice( + start: number + ): ((end: number) => (array: Array) => Array) & + ((end: number, array: Array) => Array); + slice(start: number, end: number): (array: Array) => Array; + slice(start: number, end: number, array: Array): Array; + sortedIndex(value: T): (array: Array) => number; + sortedIndex(value: T, array: Array): number; + sortedIndexBy( + iteratee: ValueOnlyIteratee + ): ((value: T) => (array: Array) => number) & + ((value: T, array: Array) => number); + sortedIndexBy( + iteratee: ValueOnlyIteratee, + value: T + ): (array: Array) => number; + sortedIndexBy( + iteratee: ValueOnlyIteratee, + value: T, + array: Array + ): number; + sortedIndexOf(value: T): (array: Array) => number; + sortedIndexOf(value: T, array: Array): number; + sortedLastIndex(value: T): (array: Array) => number; + sortedLastIndex(value: T, array: Array): number; + sortedLastIndexBy( + iteratee: ValueOnlyIteratee + ): ((value: T) => (array: Array) => number) & + ((value: T, array: Array) => number); + sortedLastIndexBy( + iteratee: ValueOnlyIteratee, + value: T + ): (array: Array) => number; + sortedLastIndexBy( + iteratee: ValueOnlyIteratee, + value: T, + array: Array + ): number; + sortedLastIndexOf(value: T): (array: Array) => number; + sortedLastIndexOf(value: T, array: Array): number; + sortedUniq(array: Array): Array; + sortedUniqBy( + iteratee: (value: T) => mixed + ): (array: Array) => Array; + sortedUniqBy(iteratee: (value: T) => mixed, array: Array): Array; + tail(array: Array): Array; + take(n: number): (array: Array) => Array; + take(n: number, array: Array): Array; + takeRight(n: number): (array: Array) => Array; + takeRight(n: number, array: Array): Array; + takeLast(n: number): (array: Array) => Array; + takeLast(n: number, array: Array): Array; + takeRightWhile(predicate: Predicate): (array: Array) => Array; + takeRightWhile(predicate: Predicate, array: Array): Array; + takeLastWhile(predicate: Predicate): (array: Array) => Array; + takeLastWhile(predicate: Predicate, array: Array): Array; + takeWhile(predicate: Predicate): (array: Array) => Array; + takeWhile(predicate: Predicate, array: Array): Array; + union(a1: Array): (a2: Array) => Array; + union(a1: Array, a2: Array): Array; + unionBy( + iteratee: ValueOnlyIteratee + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + unionBy( + iteratee: ValueOnlyIteratee, + a1: Array + ): (a2: Array) => Array; + unionBy( + iteratee: ValueOnlyIteratee, + a1: Array, + a2: Array + ): Array; + unionWith( + comparator: Comparator + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + unionWith( + comparator: Comparator, + a1: Array + ): (a2: Array) => Array; + unionWith( + comparator: Comparator, + a1: Array, + a2: Array + ): Array; + uniq(array: Array): Array; + uniqBy(iteratee: ValueOnlyIteratee): (array: Array) => Array; + uniqBy(iteratee: ValueOnlyIteratee, array: Array): Array; + uniqWith(comparator: Comparator): (array: Array) => Array; + uniqWith(comparator: Comparator, array: Array): Array; + unzip(array: Array): Array; + unzipWith(iteratee: Iteratee): (array: Array) => Array; + unzipWith(iteratee: Iteratee, array: Array): Array; + without(values: Array): (array: Array) => Array; + without(values: Array, array: Array): Array; + xor(a1: Array): (a2: Array) => Array; + xor(a1: Array, a2: Array): Array; + symmetricDifference(a1: Array): (a2: Array) => Array; + symmetricDifference(a1: Array, a2: Array): Array; + xorBy( + iteratee: ValueOnlyIteratee + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + xorBy( + iteratee: ValueOnlyIteratee, + a1: Array + ): (a2: Array) => Array; + xorBy( + iteratee: ValueOnlyIteratee, + a1: Array, + a2: Array + ): Array; + symmetricDifferenceBy( + iteratee: ValueOnlyIteratee + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + symmetricDifferenceBy( + iteratee: ValueOnlyIteratee, + a1: Array + ): (a2: Array) => Array; + symmetricDifferenceBy( + iteratee: ValueOnlyIteratee, + a1: Array, + a2: Array + ): Array; + xorWith( + comparator: Comparator + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + xorWith( + comparator: Comparator, + a1: Array + ): (a2: Array) => Array; + xorWith(comparator: Comparator, a1: Array, a2: Array): Array; + symmetricDifferenceWith( + comparator: Comparator + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); + symmetricDifferenceWith( + comparator: Comparator, + a1: Array + ): (a2: Array) => Array; + symmetricDifferenceWith( + comparator: Comparator, + a1: Array, + a2: Array + ): Array; + zip(a1: A[]): (a2: B[]) => Array<[A, B]>; + zip(a1: A[], a2: B[]): Array<[A, B]>; + zipAll(arrays: Array>): Array; + zipObject(props?: Array): (values?: Array) => { [key: K]: V }; + zipObject(props?: Array, values?: Array): { [key: K]: V }; + zipObj(props: Array): (values: Array) => Object; + zipObj(props: Array, values: Array): Object; + zipObjectDeep(props: any[]): (values: any) => Object; + zipObjectDeep(props: any[], values: any): Object; + zipWith( + iteratee: Iteratee + ): ((a1: NestedArray) => (a2: NestedArray) => Array) & + ((a1: NestedArray, a2: NestedArray) => Array); + zipWith( + iteratee: Iteratee, + a1: NestedArray + ): (a2: NestedArray) => Array; + zipWith( + iteratee: Iteratee, + a1: NestedArray, + a2: NestedArray + ): Array; + // Collection + countBy( + iteratee: ValueOnlyIteratee + ): (collection: Array | { [id: any]: T }) => { [string]: number }; + countBy( + iteratee: ValueOnlyIteratee, + collection: Array | { [id: any]: T } + ): { [string]: number }; + // alias of _.forEach + each( + iteratee: Iteratee | OIteratee + ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + each( + iteratee: Iteratee | OIteratee, + collection: $ReadOnlyArray | { [id: any]: T } + ): Array; + // alias of _.forEachRight + eachRight( + iteratee: Iteratee | OIteratee + ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + eachRight( + iteratee: Iteratee | OIteratee, + collection: $ReadOnlyArray | { [id: any]: T } + ): Array; + every( + iteratee: Iteratee | OIteratee + ): (collection: $ReadOnlyArray | { [id: any]: T }) => boolean; + every( + iteratee: Iteratee | OIteratee, + collection: $ReadOnlyArray | { [id: any]: T } + ): boolean; + all( + iteratee: Iteratee | OIteratee + ): (collection: Array | { [id: any]: T }) => boolean; + all( + iteratee: Iteratee | OIteratee, + collection: Array | { [id: any]: T } + ): boolean; + filter( + predicate: Predicate | OPredicate + ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + filter( + predicate: Predicate | OPredicate, + collection: $ReadOnlyArray | { [id: any]: T } + ): Array; + find( + predicate: Predicate | OPredicate + ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; + find( + predicate: Predicate | OPredicate, + collection: $ReadOnlyArray | { [id: any]: T } + ): T | void; + findFrom( + predicate: Predicate | OPredicate + ): (( + fromIndex: number + ) => (collection: $ReadOnlyArray | { [id: any]: T }) => T | void) & + (( + fromIndex: number, + collection: $ReadOnlyArray | { [id: any]: T } + ) => T | void); + findFrom( + predicate: Predicate | OPredicate, + fromIndex: number + ): (collection: Array | { [id: any]: T }) => T | void; + findFrom( + predicate: Predicate | OPredicate, + fromIndex: number, + collection: $ReadOnlyArray | { [id: any]: T } + ): T | void; + findLast( + predicate: Predicate | OPredicate + ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; + findLast( + predicate: Predicate | OPredicate, + collection: $ReadOnlyArray | { [id: any]: T } + ): T | void; + findLastFrom( + predicate: Predicate | OPredicate + ): (( + fromIndex: number + ) => (collection: $ReadOnlyArray | { [id: any]: T }) => T | void) & + (( + fromIndex: number, + collection: $ReadOnlyArray | { [id: any]: T } + ) => T | void); + findLastFrom( + predicate: Predicate | OPredicate, + fromIndex: number + ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; + findLastFrom( + predicate: Predicate | OPredicate, + fromIndex: number, + collection: $ReadOnlyArray | { [id: any]: T } + ): T | void; + flatMap( + iteratee: FlatMapIteratee | OFlatMapIteratee + ): (collection: Array | { [id: any]: T }) => Array; + flatMap( + iteratee: FlatMapIteratee | OFlatMapIteratee, + collection: Array | { [id: any]: T } + ): Array; + flatMapDeep( + iteratee: FlatMapIteratee | OFlatMapIteratee + ): (collection: Array | { [id: any]: T }) => Array; + flatMapDeep( + iteratee: FlatMapIteratee | OFlatMapIteratee, + collection: Array | { [id: any]: T } + ): Array; + flatMapDepth( + iteratee: FlatMapIteratee | OFlatMapIteratee + ): (( + depth: number + ) => (collection: Array | { [id: any]: T }) => Array) & + ((depth: number, collection: Array | { [id: any]: T }) => Array); + flatMapDepth( + iteratee: FlatMapIteratee | OFlatMapIteratee, + depth: number + ): (collection: Array | { [id: any]: T }) => Array; + flatMapDepth( + iteratee: FlatMapIteratee | OFlatMapIteratee, + depth: number, + collection: Array | { [id: any]: T } + ): Array; + forEach( + iteratee: Iteratee | OIteratee + ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + forEach( + iteratee: Iteratee | OIteratee, + collection: $ReadOnlyArray | { [id: any]: T } + ): Array; + forEachRight( + iteratee: Iteratee | OIteratee + ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + forEachRight( + iteratee: Iteratee | OIteratee, + collection: $ReadOnlyArray | { [id: any]: T } + ): Array; + groupBy( + iteratee: ValueOnlyIteratee + ): ( + collection: $ReadOnlyArray | { [id: any]: T } + ) => { [key: V]: Array }; + groupBy( + iteratee: ValueOnlyIteratee, + collection: $ReadOnlyArray | { [id: any]: T } + ): { [key: V]: Array }; + includes(value: T): (collection: Array | { [id: any]: T }) => boolean; + includes(value: T, collection: Array | { [id: any]: T }): boolean; + includes(value: string): (str: string) => boolean; + includes(value: string, str: string): boolean; + contains(value: string): (str: string) => boolean; + contains(value: string, str: string): boolean; + contains(value: T): (collection: Array | { [id: any]: T }) => boolean; + contains(value: T, collection: Array | { [id: any]: T }): boolean; + includesFrom( + value: string + ): ((fromIndex: number) => (str: string) => boolean) & + ((fromIndex: number, str: string) => boolean); + includesFrom(value: string, fromIndex: number): (str: string) => boolean; + includesFrom(value: string, fromIndex: number, str: string): boolean; + includesFrom( + value: T + ): ((fromIndex: number) => (collection: Array) => boolean) & + ((fromIndex: number, collection: Array) => boolean); + includesFrom( + value: T, + fromIndex: number + ): (collection: Array) => boolean; + includesFrom(value: T, fromIndex: number, collection: Array): boolean; + invokeMap( + path: ((value: T) => Array | string) | Array | string + ): (collection: Array | { [id: any]: T }) => Array; + invokeMap( + path: ((value: T) => Array | string) | Array | string, + collection: Array | { [id: any]: T } + ): Array; + invokeArgsMap( + path: ((value: T) => Array | string) | Array | string + ): (( + collection: Array | { [id: any]: T } + ) => (args: Array) => Array) & + (( + collection: Array | { [id: any]: T }, + args: Array + ) => Array); + invokeArgsMap( + path: ((value: T) => Array | string) | Array | string, + collection: Array | { [id: any]: T } + ): (args: Array) => Array; + invokeArgsMap( + path: ((value: T) => Array | string) | Array | string, + collection: Array | { [id: any]: T }, + args: Array + ): Array; + keyBy( + iteratee: ValueOnlyIteratee + ): (collection: $ReadOnlyArray | { [id: any]: T }) => { [key: V]: T }; + keyBy( + iteratee: ValueOnlyIteratee, + collection: $ReadOnlyArray | { [id: any]: T } + ): { [key: V]: T }; + indexBy( + iteratee: ValueOnlyIteratee + ): (collection: $ReadOnlyArray | { [id: any]: T }) => { [key: V]: T }; + indexBy( + iteratee: ValueOnlyIteratee, + collection: $ReadOnlyArray | { [id: any]: T } + ): { [key: V]: T }; + map( + iteratee: MapIterator | OMapIterator + ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + map( + iteratee: MapIterator | OMapIterator, + collection: $ReadOnlyArray | { [id: any]: T } + ): Array; + map(iteratee: (char: string) => any): (str: string) => string; + map(iteratee: (char: string) => any, str: string): string; + pluck( + iteratee: MapIterator | OMapIterator + ): (collection: Array | { [id: any]: T }) => Array; + pluck( + iteratee: MapIterator | OMapIterator, + collection: Array | { [id: any]: T } + ): Array; + pluck(iteratee: (char: string) => any): (str: string) => string; + pluck(iteratee: (char: string) => any, str: string): string; + orderBy( + iteratees: $ReadOnlyArray | OIteratee<*>> | string + ): (( + orders: $ReadOnlyArray<"asc" | "desc"> | string + ) => (collection: $ReadOnlyArray | { [id: any]: T }) => Array) & + (( + orders: $ReadOnlyArray<"asc" | "desc"> | string, + collection: $ReadOnlyArray | { [id: any]: T } + ) => Array); + orderBy( + iteratees: $ReadOnlyArray | OIteratee<*>> | string, + orders: $ReadOnlyArray<"asc" | "desc"> | string + ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + orderBy( + iteratees: $ReadOnlyArray | OIteratee<*>> | string, + orders: $ReadOnlyArray<"asc" | "desc"> | string, + collection: $ReadOnlyArray | { [id: any]: T } + ): Array; + partition( + predicate: Predicate | OPredicate + ): (collection: Array | { [id: any]: T }) => [Array, Array]; + partition( + predicate: Predicate | OPredicate, + collection: Array | { [id: any]: T } + ): [Array, Array]; + reduce( + iteratee: (accumulator: U, value: T) => U + ): ((accumulator: U) => (collection: Array | { [id: any]: T }) => U) & + ((accumulator: U, collection: Array | { [id: any]: T }) => U); + reduce( + iteratee: (accumulator: U, value: T) => U, + accumulator: U + ): (collection: Array | { [id: any]: T }) => U; + reduce( + iteratee: (accumulator: U, value: T) => U, + accumulator: U, + collection: Array | { [id: any]: T } + ): U; + reduceRight( + iteratee: (value: T, accumulator: U) => U + ): ((accumulator: U) => (collection: Array | { [id: any]: T }) => U) & + ((accumulator: U, collection: Array | { [id: any]: T }) => U); + reduceRight( + iteratee: (value: T, accumulator: U) => U, + accumulator: U + ): (collection: Array | { [id: any]: T }) => U; + reduceRight( + iteratee: (value: T, accumulator: U) => U, + accumulator: U, + collection: Array | { [id: any]: T } + ): U; + reject( + predicate: Predicate | OPredicate + ): (collection: Array | { [id: any]: T }) => Array; + reject( + predicate: Predicate | OPredicate, + collection: Array | { [id: any]: T } + ): Array; + sample(collection: Array | { [id: any]: T }): T; + sampleSize( + n: number + ): (collection: Array | { [id: any]: T }) => Array; + sampleSize(n: number, collection: Array | { [id: any]: T }): Array; + shuffle(collection: Array | { [id: any]: T }): Array; + size(collection: $ReadOnlyArray | Object | string): number; + some( + predicate: Predicate | OPredicate + ): (collection: $ReadOnlyArray | { [id: any]: T }) => boolean; + some( + predicate: Predicate | OPredicate, + collection: $ReadOnlyArray | { [id: any]: T } + ): boolean; + any( + predicate: Predicate | OPredicate + ): (collection: $ReadOnlyArray | { [id: any]: T }) => boolean; + any( + predicate: Predicate | OPredicate, + collection: $ReadOnlyArray | { [id: any]: T } + ): boolean; + sortBy( + iteratees: | $ReadOnlyArray | OIteratee> + | Iteratee + | OIteratee + ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + sortBy( + iteratees: | $ReadOnlyArray | OIteratee> + | Iteratee + | OIteratee, + collection: $ReadOnlyArray | { [id: any]: T }, + ): Array; + + // Date + now(): number; + + // Function + after(fn: Function): (n: number) => Function; + after(fn: Function, n: number): Function; + ary(func: Function): Function; + nAry(n: number): (func: Function) => Function; + nAry(n: number, func: Function): Function; + before(fn: Function): (n: number) => Function; + before(fn: Function, n: number): Function; + bind(func: Function): (thisArg: any) => Function; + bind(func: Function, thisArg: any): Function; + bindKey(obj: Object): (key: string) => Function; + bindKey(obj: Object, key: string): Function; + curry: Curry; + curryN(arity: number): (func: Function) => Function; + curryN(arity: number, func: Function): Function; + curryRight(func: Function): Function; + curryRightN(arity: number): (func: Function) => Function; + curryRightN(arity: number, func: Function): Function; + debounce(wait: number): (func: F) => F; + debounce(wait: number, func: F): F; + defer(func: Function): TimeoutID; + delay(wait: number): (func: Function) => TimeoutID; + delay(wait: number, func: Function): TimeoutID; + flip(func: Function): Function; + memoize(func: F): F; + negate(predicate: Function): Function; + complement(predicate: Function): Function; + once(func: Function): Function; + overArgs(func: Function): (transforms: Array) => Function; + overArgs(func: Function, transforms: Array): Function; + useWith(func: Function): (transforms: Array) => Function; + useWith(func: Function, transforms: Array): Function; + partial(func: Function): (partials: any[]) => Function; + partial(func: Function, partials: any[]): Function; + partialRight(func: Function): (partials: Array) => Function; + partialRight(func: Function, partials: Array): Function; + rearg(indexes: Array): (func: Function) => Function; + rearg(indexes: Array, func: Function): Function; + rest(func: Function): Function; + unapply(func: Function): Function; + restFrom(start: number): (func: Function) => Function; + restFrom(start: number, func: Function): Function; + spread(func: Function): Function; + apply(func: Function): Function; + spreadFrom(start: number): (func: Function) => Function; + spreadFrom(start: number, func: Function): Function; + throttle(wait: number): (func: Function) => Function; + throttle(wait: number, func: Function): Function; + unary(func: Function): Function; + wrap(wrapper: Function): (value: any) => Function; + wrap(wrapper: Function, value: any): Function; + + // Lang + castArray(value: *): any[]; + clone(value: T): T; + cloneDeep(value: T): T; + cloneDeepWith( + customizer: (value: T, key: number | string, object: T, stack: any) => U + ): (value: T) => U; + cloneDeepWith( + customizer: (value: T, key: number | string, object: T, stack: any) => U, + value: T + ): U; + cloneWith( + customizer: (value: T, key: number | string, object: T, stack: any) => U + ): (value: T) => U; + cloneWith( + customizer: (value: T, key: number | string, object: T, stack: any) => U, + value: T + ): U; + conformsTo( + predicates: T & { [key: string]: (x: any) => boolean } + ): (source: T) => boolean; + conformsTo( + predicates: T & { [key: string]: (x: any) => boolean }, + source: T + ): boolean; + where( + predicates: T & { [key: string]: (x: any) => boolean } + ): (source: T) => boolean; + where( + predicates: T & { [key: string]: (x: any) => boolean }, + source: T + ): boolean; + conforms( + predicates: T & { [key: string]: (x: any) => boolean } + ): (source: T) => boolean; + conforms( + predicates: T & { [key: string]: (x: any) => boolean }, + source: T + ): boolean; + eq(value: any): (other: any) => boolean; + eq(value: any, other: any): boolean; + identical(value: any): (other: any) => boolean; + identical(value: any, other: any): boolean; + gt(value: any): (other: any) => boolean; + gt(value: any, other: any): boolean; + gte(value: any): (other: any) => boolean; + gte(value: any, other: any): boolean; + isArguments(value: any): boolean; + isArray(value: any): boolean; + isArrayBuffer(value: any): boolean; + isArrayLike(value: any): boolean; + isArrayLikeObject(value: any): boolean; + isBoolean(value: any): boolean; + isBuffer(value: any): boolean; + isDate(value: any): boolean; + isElement(value: any): boolean; + isEmpty(value: any): boolean; + isEqual(value: any): (other: any) => boolean; + isEqual(value: any, other: any): boolean; + equals(value: any): (other: any) => boolean; + equals(value: any, other: any): boolean; + isEqualWith( + customizer: ( + objValue: any, + otherValue: any, + key: number | string, + object: T, + other: U, + stack: any + ) => boolean | void + ): ((value: T) => (other: U) => boolean) & + ((value: T, other: U) => boolean); + isEqualWith( + customizer: ( + objValue: any, + otherValue: any, + key: number | string, + object: T, + other: U, + stack: any + ) => boolean | void, + value: T + ): (other: U) => boolean; + isEqualWith( + customizer: ( + objValue: any, + otherValue: any, + key: number | string, + object: T, + other: U, + stack: any + ) => boolean | void, + value: T, + other: U + ): boolean; + isError(value: any): boolean; + isFinite(value: any): boolean; + isFunction(value: Function): true; + isFunction(value: number | string | void | null | Object): false; + isInteger(value: any): boolean; + isLength(value: any): boolean; + isMap(value: any): boolean; + isMatch(source: Object): (object: Object) => boolean; + isMatch(source: Object, object: Object): boolean; + whereEq(source: Object): (object: Object) => boolean; + whereEq(source: Object, object: Object): boolean; + isMatchWith( + customizer: ( + objValue: any, + srcValue: any, + key: number | string, + object: T, + source: U + ) => boolean | void + ): ((source: U) => (object: T) => boolean) & + ((source: U, object: T) => boolean); + isMatchWith( + customizer: ( + objValue: any, + srcValue: any, + key: number | string, + object: T, + source: U + ) => boolean | void, + source: U + ): (object: T) => boolean; + isMatchWith( + customizer: ( + objValue: any, + srcValue: any, + key: number | string, + object: T, + source: U + ) => boolean | void, + source: U, + object: T + ): boolean; + isNaN(value: any): boolean; + isNative(value: any): boolean; + isNil(value: any): boolean; + isNull(value: any): boolean; + isNumber(value: any): boolean; + isObject(value: any): boolean; + isObjectLike(value: any): boolean; + isPlainObject(value: any): boolean; + isRegExp(value: any): boolean; + isSafeInteger(value: any): boolean; + isSet(value: any): boolean; + isString(value: string): true; + isString(value: any): false; + isSymbol(value: any): boolean; + isTypedArray(value: any): boolean; + isUndefined(value: any): boolean; + isWeakMap(value: any): boolean; + isWeakSet(value: any): boolean; + lt(value: any): (other: any) => boolean; + lt(value: any, other: any): boolean; + lte(value: any): (other: any) => boolean; + lte(value: any, other: any): boolean; + toArray(value: any): Array; + toFinite(value: any): number; + toInteger(value: any): number; + toLength(value: any): number; + toNumber(value: any): number; + toPlainObject(value: any): Object; + toSafeInteger(value: any): number; + toString(value: any): string; + + // Math + add(augend: number): (addend: number) => number; + add(augend: number, addend: number): number; + ceil(number: number): number; + divide(dividend: number): (divisor: number) => number; + divide(dividend: number, divisor: number): number; + floor(number: number): number; + max(array: Array): T; + maxBy(iteratee: Iteratee): (array: Array) => T; + maxBy(iteratee: Iteratee, array: Array): T; + mean(array: Array<*>): number; + meanBy(iteratee: Iteratee): (array: Array) => number; + meanBy(iteratee: Iteratee, array: Array): number; + min(array: Array): T; + minBy(iteratee: Iteratee): (array: Array) => T; + minBy(iteratee: Iteratee, array: Array): T; + multiply(multiplier: number): (multiplicand: number) => number; + multiply(multiplier: number, multiplicand: number): number; + round(number: number): number; + subtract(minuend: number): (subtrahend: number) => number; + subtract(minuend: number, subtrahend: number): number; + sum(array: Array<*>): number; + sumBy(iteratee: Iteratee): (array: Array) => number; + sumBy(iteratee: Iteratee, array: Array): number; + + // number + clamp( + lower: number + ): ((upper: number) => (number: number) => number) & + ((upper: number, number: number) => number); + clamp(lower: number, upper: number): (number: number) => number; + clamp(lower: number, upper: number, number: number): number; + inRange( + start: number + ): ((end: number) => (number: number) => boolean) & + ((end: number, number: number) => boolean); + inRange(start: number, end: number): (number: number) => boolean; + inRange(start: number, end: number, number: number): boolean; + random(lower: number): (upper: number) => number; + random(lower: number, upper: number): number; + + // Object + assign(object: Object): (source: Object) => Object; + assign(object: Object, source: Object): Object; + assignAll(objects: Array): Object; + assignInAll(objects: Array): Object; + extendAll(objects: Array): Object; + assignIn(a: A): (b: B) => A & B; + assignIn(a: A, b: B): A & B; + assignInWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); + assignInWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T + ): (s1: A) => Object; + assignInWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T, + s1: A + ): Object; + assignWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); + assignWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T + ): (s1: A) => Object; + assignWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T, + s1: A + ): Object; + assignInAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void + ): (objects: Array) => Object; + assignInAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void, + objects: Array + ): Object; + extendAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void + ): (objects: Array) => Object; + extendAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void, + objects: Array + ): Object; + assignAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void + ): (objects: Array) => Object; + assignAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void, + objects: Array + ): Object; + at(paths: Array): (object: Object) => Array; + at(paths: Array, object: Object): Array; + props(paths: Array): (object: Object) => Array; + props(paths: Array, object: Object): Array; + paths(paths: Array): (object: Object) => Array; + paths(paths: Array, object: Object): Array; + create(prototype: T): $Supertype; + defaults(source: Object): (object: Object) => Object; + defaults(source: Object, object: Object): Object; + defaultsAll(objects: Array): Object; + defaultsDeep(source: Object): (object: Object) => Object; + defaultsDeep(source: Object, object: Object): Object; + defaultsDeepAll(objects: Array): Object; + // alias for _.toPairs + entries(object: Object): Array<[string, any]>; + // alias for _.toPairsIn + entriesIn(object: Object): Array<[string, any]>; + // alias for _.assignIn + extend(a: A): (b: B) => A & B; + extend(a: A, b: B): A & B; + // alias for _.assignInWith + extendWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void + ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); + extendWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T + ): (s1: A) => Object; + extendWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A + ) => any | void, + object: T, + s1: A + ): Object; + findKey( + predicate: OPredicate + ): (object: T) => string | void; + findKey( + predicate: OPredicate, + object: T + ): string | void; + findLastKey( + predicate: OPredicate + ): (object: T) => string | void; + findLastKey( + predicate: OPredicate, + object: T + ): string | void; + forIn(iteratee: OIteratee<*>): (object: Object) => Object; + forIn(iteratee: OIteratee<*>, object: Object): Object; + forInRight(iteratee: OIteratee<*>): (object: Object) => Object; + forInRight(iteratee: OIteratee<*>, object: Object): Object; + forOwn(iteratee: OIteratee<*>): (object: Object) => Object; + forOwn(iteratee: OIteratee<*>, object: Object): Object; + forOwnRight(iteratee: OIteratee<*>): (object: Object) => Object; + forOwnRight(iteratee: OIteratee<*>, object: Object): Object; + functions(object: Object): Array; + functionsIn(object: Object): Array; + get(path: $ReadOnlyArray | string | number): (object: Object | $ReadOnlyArray | void | null) => any; + get(path: $ReadOnlyArray | string | number, object: Object | $ReadOnlyArray | void | null): any; + prop(path: Array | string): (object: Object | Array) => any; + prop(path: Array | string, object: Object | Array): any; + path(path: Array | string): (object: Object | Array) => any; + path(path: Array | string, object: Object | Array): any; + getOr( + defaultValue: any + ): (( + path: Array | string + ) => (object: Object | Array) => any) & + ((path: Array | string, object: Object | $ReadOnlyArray | void | null) => any); + getOr( + defaultValue: any, + path: Array | string + ): (object: Object | $ReadOnlyArray | void | null) => any; + getOr( + defaultValue: any, + path: Array | string, + object: Object | $ReadOnlyArray | void | null + ): any; + propOr( + defaultValue: any + ): (( + path: Array | string + ) => (object: Object | Array) => any) & + ((path: Array | string, object: Object | Array) => any); + propOr( + defaultValue: any, + path: Array | string + ): (object: Object | Array) => any; + propOr( + defaultValue: any, + path: Array | string, + object: Object | Array + ): any; + pathOr( + defaultValue: any + ): (( + path: Array | string + ) => (object: Object | Array) => any) & + ((path: Array | string, object: Object | Array) => any); + pathOr( + defaultValue: any, + path: Array | string + ): (object: Object | Array) => any; + pathOr( + defaultValue: any, + path: Array | string, + object: Object | Array + ): any; + has(path: Array | string): (object: Object) => boolean; + has(path: Array | string, object: Object): boolean; + hasIn(path: Array | string): (object: Object) => boolean; + hasIn(path: Array | string, object: Object): boolean; + invert(object: Object): Object; + invertObj(object: Object): Object; + invertBy(iteratee: Function): (object: Object) => Object; + invertBy(iteratee: Function, object: Object): Object; + invoke(path: Array | string): (object: Object) => any; + invoke(path: Array | string, object: Object): any; + invokeArgs( + path: Array | string + ): ((object: Object) => (args: Array) => any) & + ((object: Object, args: Array) => any); + invokeArgs( + path: Array | string, + object: Object + ): (args: Array) => any; + invokeArgs( + path: Array | string, + object: Object, + args: Array + ): any; + keys(object: { [key: K]: any }): Array; + keys(object: Object): Array; + keysIn(object: Object): Array; + mapKeys(iteratee: OIteratee<*>): (object: Object) => Object; + mapKeys(iteratee: OIteratee<*>, object: Object): Object; + mapValues(iteratee: OIteratee<*>): (object: Object) => Object; + mapValues(iteratee: OIteratee<*>, object: Object): Object; + merge(object: Object): (source: Object) => Object; + merge(object: Object, source: Object): Object; + mergeAll(objects: Array): Object; + mergeWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void + ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); + mergeWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void, + object: T + ): (s1: A) => Object; + mergeWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: T, + source: A | B + ) => any | void, + object: T, + s1: A + ): Object; + mergeAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void + ): (objects: Array) => Object; + mergeAllWith( + customizer: ( + objValue: any, + srcValue: any, + key: string, + object: Object, + source: Object + ) => any | void, + objects: Array + ): Object; + omit(props: Array): (object: Object) => Object; + omit(props: Array, object: Object): Object; + omitAll(props: Array): (object: Object) => Object; + omitAll(props: Array, object: Object): Object; + omitBy( + predicate: OPredicate + ): (object: T) => Object; + omitBy(predicate: OPredicate, object: T): Object; + pick(props: Array): (object: Object) => Object; + pick(props: Array, object: Object): Object; + pickAll(props: Array): (object: Object) => Object; + pickAll(props: Array, object: Object): Object; + pickBy( + predicate: OPredicate + ): (object: T) => Object; + pickBy(predicate: OPredicate, object: T): Object; + result(path: Array | string): (object: Object) => any; + result(path: Array | string, object: Object): any; + set( + path: Array | string + ): ((value: any) => (object: Object) => Object) & + ((value: any, object: Object) => Object); + set(path: Array | string, value: any): (object: Object) => Object; + set(path: Array | string, value: any, object: Object): Object; + assoc( + path: Array | string + ): ((value: any) => (object: Object) => Object) & + ((value: any, object: Object) => Object); + assoc(path: Array | string, value: any): (object: Object) => Object; + assoc(path: Array | string, value: any, object: Object): Object; + assocPath( + path: Array | string + ): ((value: any) => (object: Object) => Object) & + ((value: any, object: Object) => Object); + assocPath( + path: Array | string, + value: any + ): (object: Object) => Object; + assocPath(path: Array | string, value: any, object: Object): Object; + setWith( + customizer: (nsValue: any, key: string, nsObject: T) => any + ): (( + path: Array | string + ) => ((value: any) => (object: T) => Object) & + ((value: any, object: T) => Object)) & + ((path: Array | string, value: any) => (object: T) => Object) & + ((path: Array | string, value: any, object: T) => Object); + setWith( + customizer: (nsValue: any, key: string, nsObject: T) => any, + path: Array | string + ): ((value: any) => (object: T) => Object) & + ((value: any, object: T) => Object); + setWith( + customizer: (nsValue: any, key: string, nsObject: T) => any, + path: Array | string, + value: any + ): (object: T) => Object; + setWith( + customizer: (nsValue: any, key: string, nsObject: T) => any, + path: Array | string, + value: any, + object: T + ): Object; + toPairs(object: Object | Array<*>): Array<[string, any]>; + toPairsIn(object: Object): Array<[string, any]>; + transform( + iteratee: OIteratee<*> + ): (( + accumulator: any + ) => (collection: Object | $ReadOnlyArray) => any) & + ((accumulator: any, collection: Object | $ReadOnlyArray) => any); + transform( + iteratee: OIteratee<*>, + accumulator: any + ): (collection: Object | $ReadOnlyArray) => any; + transform( + iteratee: OIteratee<*>, + accumulator: any, + collection: Object | $ReadOnlyArray + ): any; + unset(path: Array | string): (object: Object) => Object; + unset(path: Array | string, object: Object): Object; + dissoc(path: Array | string): (object: Object) => Object; + dissoc(path: Array | string, object: Object): Object; + dissocPath(path: Array | string): (object: Object) => Object; + dissocPath(path: Array | string, object: Object): Object; + update( + path: string[] | string + ): ((updater: Function) => (object: Object) => Object) & + ((updater: Function, object: Object) => Object); + update( + path: string[] | string, + updater: Function + ): (object: Object) => Object; + update(path: string[] | string, updater: Function, object: Object): Object; + updateWith( + customizer: Function + ): (( + path: string[] | string + ) => ((updater: Function) => (object: Object) => Object) & + ((updater: Function, object: Object) => Object)) & + (( + path: string[] | string, + updater: Function + ) => (object: Object) => Object) & + ((path: string[] | string, updater: Function, object: Object) => Object); + updateWith( + customizer: Function, + path: string[] | string + ): ((updater: Function) => (object: Object) => Object) & + ((updater: Function, object: Object) => Object); + updateWith( + customizer: Function, + path: string[] | string, + updater: Function + ): (object: Object) => Object; + updateWith( + customizer: Function, + path: string[] | string, + updater: Function, + object: Object + ): Object; + values(object: Object): Array; + valuesIn(object: Object): Array; + + tap(interceptor: (value: T) => any): (value: T) => T; + tap(interceptor: (value: T) => any, value: T): T; + thru(interceptor: (value: T1) => T2): (value: T1) => T2; + thru(interceptor: (value: T1) => T2, value: T1): T2; + + // String + camelCase(string: string): string; + capitalize(string: string): string; + deburr(string: string): string; + endsWith(target: string): (string: string) => boolean; + endsWith(target: string, string: string): boolean; + escape(string: string): string; + escapeRegExp(string: string): string; + kebabCase(string: string): string; + lowerCase(string: string): string; + lowerFirst(string: string): string; + pad(length: number): (string: string) => string; + pad(length: number, string: string): string; + padChars( + chars: string + ): ((length: number) => (string: string) => string) & + ((length: number, string: string) => string); + padChars(chars: string, length: number): (string: string) => string; + padChars(chars: string, length: number, string: string): string; + padEnd(length: number): (string: string) => string; + padEnd(length: number, string: string): string; + padCharsEnd( + chars: string + ): ((length: number) => (string: string) => string) & + ((length: number, string: string) => string); + padCharsEnd(chars: string, length: number): (string: string) => string; + padCharsEnd(chars: string, length: number, string: string): string; + padStart(length: number): (string: string) => string; + padStart(length: number, string: string): string; + padCharsStart( + chars: string + ): ((length: number) => (string: string) => string) & + ((length: number, string: string) => string); + padCharsStart(chars: string, length: number): (string: string) => string; + padCharsStart(chars: string, length: number, string: string): string; + parseInt(radix: number): (string: string) => number; + parseInt(radix: number, string: string): number; + repeat(n: number): (string: string) => string; + repeat(n: number, string: string): string; + replace( + pattern: RegExp | string + ): (( + replacement: ((string: string) => string) | string + ) => (string: string) => string) & + (( + replacement: ((string: string) => string) | string, + string: string + ) => string); + replace( + pattern: RegExp | string, + replacement: ((string: string) => string) | string + ): (string: string) => string; + replace( + pattern: RegExp | string, + replacement: ((string: string) => string) | string, + string: string + ): string; + snakeCase(string: string): string; + split(separator: RegExp | string): (string: string) => Array; + split(separator: RegExp | string, string: string): Array; + startCase(string: string): string; + startsWith(target: string): (string: string) => boolean; + startsWith(target: string, string: string): boolean; + template(string: string): Function; + toLower(string: string): string; + toUpper(string: string): string; + trim(string: string): string; + trimChars(chars: string): (string: string) => string; + trimChars(chars: string, string: string): string; + trimEnd(string: string): string; + trimCharsEnd(chars: string): (string: string) => string; + trimCharsEnd(chars: string, string: string): string; + trimStart(string: string): string; + trimCharsStart(chars: string): (string: string) => string; + trimCharsStart(chars: string, string: string): string; + truncate(options: TruncateOptions): (string: string) => string; + truncate(options: TruncateOptions, string: string): string; + unescape(string: string): string; + upperCase(string: string): string; + upperFirst(string: string): string; + words(string: string): Array; + + // Util + attempt(func: Function): any; + bindAll(methodNames: Array): (object: Object) => Object; + bindAll(methodNames: Array, object: Object): Object; + cond(pairs: NestedArray): Function; + constant(value: T): () => T; + always(value: T): () => T; + defaultTo( + defaultValue: T2 + ): (value: T1) => T1; + defaultTo( + defaultValue: T2, + value: T1 + ): T1; + // NaN is a number instead of its own type, otherwise it would behave like null/void + defaultTo(defaultValue: T2): (value: T1) => T1 | T2; + defaultTo(defaultValue: T2, value: T1): T1 | T2; + defaultTo(defaultValue: T2): (value: T1) => T2; + defaultTo(defaultValue: T2, value: T1): T2; + flow: ($ComposeReverse & (funcs: Array) => Function); + pipe: ($ComposeReverse & (funcs: Array) => Function); + flowRight: ($Compose & (funcs: Array) => Function); + compose: ($Compose & (funcs: Array) => Function); + compose(funcs: Array): Function; + identity(value: T): T; + iteratee(func: any): Function; + matches(source: Object): (object: Object) => boolean; + matches(source: Object, object: Object): boolean; + matchesProperty(path: Array | string): (srcValue: any) => Function; + matchesProperty(path: Array | string, srcValue: any): Function; + propEq(path: Array | string): (srcValue: any) => Function; + propEq(path: Array | string, srcValue: any): Function; + pathEq(path: Array | string): (srcValue: any) => Function; + pathEq(path: Array | string, srcValue: any): Function; + method(path: Array | string): Function; + methodOf(object: Object): Function; + mixin( + object: T + ): ((source: Object) => (options: { chain: boolean }) => T) & + ((source: Object, options: { chain: boolean }) => T); + mixin( + object: T, + source: Object + ): (options: { chain: boolean }) => T; + mixin( + object: T, + source: Object, + options: { chain: boolean } + ): T; + noConflict(): Lodash; + noop(...args: Array): void; + nthArg(n: number): Function; + over(iteratees: Array): Function; + juxt(iteratees: Array): Function; + overEvery(predicates: Array): Function; + allPass(predicates: Array): Function; + overSome(predicates: Array): Function; + anyPass(predicates: Array): Function; + property( + path: Array | string + ): (object: Object | Array) => any; + property(path: Array | string, object: Object | Array): any; + propertyOf(object: Object): (path: Array | string) => Function; + propertyOf(object: Object, path: Array | string): Function; + range(start: number): (end: number) => Array; + range(start: number, end: number): Array; + rangeStep( + step: number + ): ((start: number) => (end: number) => Array) & + ((start: number, end: number) => Array); + rangeStep(step: number, start: number): (end: number) => Array; + rangeStep(step: number, start: number, end: number): Array; + rangeRight(start: number): (end: number) => Array; + rangeRight(start: number, end: number): Array; + rangeStepRight( + step: number + ): ((start: number) => (end: number) => Array) & + ((start: number, end: number) => Array); + rangeStepRight(step: number, start: number): (end: number) => Array; + rangeStepRight(step: number, start: number, end: number): Array; + runInContext(context: Object): Function; + + stubArray(): Array<*>; + stubFalse(): false; + F(): false; + stubObject(): {}; + stubString(): ""; + stubTrue(): true; + T(): true; + times(iteratee: (i: number) => T): (n: number) => Array; + times(iteratee: (i: number) => T, n: number): Array; + toPath(value: any): Array; + uniqueId(prefix: string): string; + + __: any; + placeholder: any; + + convert(options: { + cap?: boolean, + curry?: boolean, + fixed?: boolean, + immutable?: boolean, + rearg?: boolean + }): void; + + // Properties + VERSION: string; + templateSettings: TemplateSettings; + } + + declare module.exports: Lodash; +} + +declare module "lodash/chunk" { + declare module.exports: $PropertyType<$Exports<"lodash">, "chunk">; +} + +declare module "lodash/compact" { + declare module.exports: $PropertyType<$Exports<"lodash">, "compact">; +} + +declare module "lodash/concat" { + declare module.exports: $PropertyType<$Exports<"lodash">, "concat">; +} + +declare module "lodash/difference" { + declare module.exports: $PropertyType<$Exports<"lodash">, "difference">; +} + +declare module "lodash/differenceBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "differenceBy">; +} + +declare module "lodash/differenceWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "differenceWith">; +} + +declare module "lodash/drop" { + declare module.exports: $PropertyType<$Exports<"lodash">, "drop">; +} + +declare module "lodash/dropRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "dropRight">; +} + +declare module "lodash/dropRightWhile" { + declare module.exports: $PropertyType<$Exports<"lodash">, "dropRightWhile">; +} + +declare module "lodash/dropWhile" { + declare module.exports: $PropertyType<$Exports<"lodash">, "dropWhile">; +} + +declare module "lodash/fill" { + declare module.exports: $PropertyType<$Exports<"lodash">, "fill">; +} + +declare module "lodash/findIndex" { + declare module.exports: $PropertyType<$Exports<"lodash">, "findIndex">; +} + +declare module "lodash/findLastIndex" { + declare module.exports: $PropertyType<$Exports<"lodash">, "findLastIndex">; +} + +declare module "lodash/first" { + declare module.exports: $PropertyType<$Exports<"lodash">, "first">; +} + +declare module "lodash/flatten" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flatten">; +} + +declare module "lodash/flattenDeep" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flattenDeep">; +} + +declare module "lodash/flattenDepth" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flattenDepth">; +} + +declare module "lodash/fromPairs" { + declare module.exports: $PropertyType<$Exports<"lodash">, "fromPairs">; +} + +declare module "lodash/head" { + declare module.exports: $PropertyType<$Exports<"lodash">, "head">; +} + +declare module "lodash/indexOf" { + declare module.exports: $PropertyType<$Exports<"lodash">, "indexOf">; +} + +declare module "lodash/initial" { + declare module.exports: $PropertyType<$Exports<"lodash">, "initial">; +} + +declare module "lodash/intersection" { + declare module.exports: $PropertyType<$Exports<"lodash">, "intersection">; +} + +declare module "lodash/intersectionBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "intersectionBy">; +} + +declare module "lodash/intersectionWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "intersectionWith">; +} + +declare module "lodash/join" { + declare module.exports: $PropertyType<$Exports<"lodash">, "join">; +} + +declare module "lodash/last" { + declare module.exports: $PropertyType<$Exports<"lodash">, "last">; +} + +declare module "lodash/lastIndexOf" { + declare module.exports: $PropertyType<$Exports<"lodash">, "lastIndexOf">; +} + +declare module "lodash/nth" { + declare module.exports: $PropertyType<$Exports<"lodash">, "nth">; +} + +declare module "lodash/pull" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pull">; +} + +declare module "lodash/pullAll" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pullAll">; +} + +declare module "lodash/pullAllBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pullAllBy">; +} + +declare module "lodash/pullAllWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pullAllWith">; +} + +declare module "lodash/pullAt" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pullAt">; +} + +declare module "lodash/remove" { + declare module.exports: $PropertyType<$Exports<"lodash">, "remove">; +} + +declare module "lodash/reverse" { + declare module.exports: $PropertyType<$Exports<"lodash">, "reverse">; +} + +declare module "lodash/slice" { + declare module.exports: $PropertyType<$Exports<"lodash">, "slice">; +} + +declare module "lodash/sortedIndex" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndex">; +} + +declare module "lodash/sortedIndexBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndexBy">; +} + +declare module "lodash/sortedIndexOf" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndexOf">; +} + +declare module "lodash/sortedLastIndex" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedLastIndex">; +} + +declare module "lodash/sortedLastIndexBy" { + declare module.exports: $PropertyType< + $Exports<"lodash">, + "sortedLastIndexBy" + >; +} + +declare module "lodash/sortedLastIndexOf" { + declare module.exports: $PropertyType< + $Exports<"lodash">, + "sortedLastIndexOf" + >; +} + +declare module "lodash/sortedUniq" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedUniq">; +} + +declare module "lodash/sortedUniqBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortedUniqBy">; +} + +declare module "lodash/tail" { + declare module.exports: $PropertyType<$Exports<"lodash">, "tail">; +} + +declare module "lodash/take" { + declare module.exports: $PropertyType<$Exports<"lodash">, "take">; +} + +declare module "lodash/takeRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "takeRight">; +} + +declare module "lodash/takeRightWhile" { + declare module.exports: $PropertyType<$Exports<"lodash">, "takeRightWhile">; +} + +declare module "lodash/takeWhile" { + declare module.exports: $PropertyType<$Exports<"lodash">, "takeWhile">; +} + +declare module "lodash/union" { + declare module.exports: $PropertyType<$Exports<"lodash">, "union">; +} + +declare module "lodash/unionBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unionBy">; +} + +declare module "lodash/unionWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unionWith">; +} + +declare module "lodash/uniq" { + declare module.exports: $PropertyType<$Exports<"lodash">, "uniq">; +} + +declare module "lodash/uniqBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "uniqBy">; +} + +declare module "lodash/uniqWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "uniqWith">; +} + +declare module "lodash/unzip" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unzip">; +} + +declare module "lodash/unzipWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unzipWith">; +} + +declare module "lodash/without" { + declare module.exports: $PropertyType<$Exports<"lodash">, "without">; +} + +declare module "lodash/xor" { + declare module.exports: $PropertyType<$Exports<"lodash">, "xor">; +} + +declare module "lodash/xorBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "xorBy">; +} + +declare module "lodash/xorWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "xorWith">; +} + +declare module "lodash/zip" { + declare module.exports: $PropertyType<$Exports<"lodash">, "zip">; +} + +declare module "lodash/zipObject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "zipObject">; +} + +declare module "lodash/zipObjectDeep" { + declare module.exports: $PropertyType<$Exports<"lodash">, "zipObjectDeep">; +} + +declare module "lodash/zipWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "zipWith">; +} + +declare module "lodash/countBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "countBy">; +} + +declare module "lodash/each" { + declare module.exports: $PropertyType<$Exports<"lodash">, "each">; +} + +declare module "lodash/eachRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "eachRight">; +} + +declare module "lodash/every" { + declare module.exports: $PropertyType<$Exports<"lodash">, "every">; +} + +declare module "lodash/filter" { + declare module.exports: $PropertyType<$Exports<"lodash">, "filter">; +} + +declare module "lodash/find" { + declare module.exports: $PropertyType<$Exports<"lodash">, "find">; +} + +declare module "lodash/findLast" { + declare module.exports: $PropertyType<$Exports<"lodash">, "findLast">; +} + +declare module "lodash/flatMap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flatMap">; +} + +declare module "lodash/flatMapDeep" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flatMapDeep">; +} + +declare module "lodash/flatMapDepth" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flatMapDepth">; +} + +declare module "lodash/forEach" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forEach">; +} + +declare module "lodash/forEachRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forEachRight">; +} + +declare module "lodash/groupBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "groupBy">; +} + +declare module "lodash/includes" { + declare module.exports: $PropertyType<$Exports<"lodash">, "includes">; +} + +declare module "lodash/invokeMap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "invokeMap">; +} + +declare module "lodash/keyBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "keyBy">; +} + +declare module "lodash/map" { + declare module.exports: $PropertyType<$Exports<"lodash">, "map">; +} + +declare module "lodash/orderBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "orderBy">; +} + +declare module "lodash/partition" { + declare module.exports: $PropertyType<$Exports<"lodash">, "partition">; +} + +declare module "lodash/reduce" { + declare module.exports: $PropertyType<$Exports<"lodash">, "reduce">; +} + +declare module "lodash/reduceRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "reduceRight">; +} + +declare module "lodash/reject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "reject">; +} + +declare module "lodash/sample" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sample">; +} + +declare module "lodash/sampleSize" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sampleSize">; +} + +declare module "lodash/shuffle" { + declare module.exports: $PropertyType<$Exports<"lodash">, "shuffle">; +} + +declare module "lodash/size" { + declare module.exports: $PropertyType<$Exports<"lodash">, "size">; +} + +declare module "lodash/some" { + declare module.exports: $PropertyType<$Exports<"lodash">, "some">; +} + +declare module "lodash/sortBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sortBy">; +} + +declare module "lodash/now" { + declare module.exports: $PropertyType<$Exports<"lodash">, "now">; +} + +declare module "lodash/after" { + declare module.exports: $PropertyType<$Exports<"lodash">, "after">; +} + +declare module "lodash/ary" { + declare module.exports: $PropertyType<$Exports<"lodash">, "ary">; +} + +declare module "lodash/before" { + declare module.exports: $PropertyType<$Exports<"lodash">, "before">; +} + +declare module "lodash/bind" { + declare module.exports: $PropertyType<$Exports<"lodash">, "bind">; +} + +declare module "lodash/bindKey" { + declare module.exports: $PropertyType<$Exports<"lodash">, "bindKey">; +} + +declare module "lodash/curry" { + declare module.exports: $PropertyType<$Exports<"lodash">, "curry">; +} + +declare module "lodash/curryRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "curryRight">; +} + +declare module "lodash/debounce" { + declare module.exports: $PropertyType<$Exports<"lodash">, "debounce">; +} + +declare module "lodash/defer" { + declare module.exports: $PropertyType<$Exports<"lodash">, "defer">; +} + +declare module "lodash/delay" { + declare module.exports: $PropertyType<$Exports<"lodash">, "delay">; +} + +declare module "lodash/flip" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flip">; +} + +declare module "lodash/memoize" { + declare module.exports: $PropertyType<$Exports<"lodash">, "memoize">; +} + +declare module "lodash/negate" { + declare module.exports: $PropertyType<$Exports<"lodash">, "negate">; +} + +declare module "lodash/once" { + declare module.exports: $PropertyType<$Exports<"lodash">, "once">; +} + +declare module "lodash/overArgs" { + declare module.exports: $PropertyType<$Exports<"lodash">, "overArgs">; +} + +declare module "lodash/partial" { + declare module.exports: $PropertyType<$Exports<"lodash">, "partial">; +} + +declare module "lodash/partialRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "partialRight">; +} + +declare module "lodash/rearg" { + declare module.exports: $PropertyType<$Exports<"lodash">, "rearg">; +} + +declare module "lodash/rest" { + declare module.exports: $PropertyType<$Exports<"lodash">, "rest">; +} + +declare module "lodash/spread" { + declare module.exports: $PropertyType<$Exports<"lodash">, "spread">; +} + +declare module "lodash/throttle" { + declare module.exports: $PropertyType<$Exports<"lodash">, "throttle">; +} + +declare module "lodash/unary" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unary">; +} + +declare module "lodash/wrap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "wrap">; +} + +declare module "lodash/castArray" { + declare module.exports: $PropertyType<$Exports<"lodash">, "castArray">; +} + +declare module "lodash/clone" { + declare module.exports: $PropertyType<$Exports<"lodash">, "clone">; +} + +declare module "lodash/cloneDeep" { + declare module.exports: $PropertyType<$Exports<"lodash">, "cloneDeep">; +} + +declare module "lodash/cloneDeepWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "cloneDeepWith">; +} + +declare module "lodash/cloneWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "cloneWith">; +} + +declare module "lodash/conformsTo" { + declare module.exports: $PropertyType<$Exports<"lodash">, "conformsTo">; +} + +declare module "lodash/eq" { + declare module.exports: $PropertyType<$Exports<"lodash">, "eq">; +} + +declare module "lodash/gt" { + declare module.exports: $PropertyType<$Exports<"lodash">, "gt">; +} + +declare module "lodash/gte" { + declare module.exports: $PropertyType<$Exports<"lodash">, "gte">; +} + +declare module "lodash/isArguments" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isArguments">; +} + +declare module "lodash/isArray" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isArray">; +} + +declare module "lodash/isArrayBuffer" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isArrayBuffer">; +} + +declare module "lodash/isArrayLike" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isArrayLike">; +} + +declare module "lodash/isArrayLikeObject" { + declare module.exports: $PropertyType< + $Exports<"lodash">, + "isArrayLikeObject" + >; +} + +declare module "lodash/isBoolean" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isBoolean">; +} + +declare module "lodash/isBuffer" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isBuffer">; +} + +declare module "lodash/isDate" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isDate">; +} + +declare module "lodash/isElement" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isElement">; +} + +declare module "lodash/isEmpty" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isEmpty">; +} + +declare module "lodash/isEqual" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isEqual">; +} + +declare module "lodash/isEqualWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isEqualWith">; +} + +declare module "lodash/isError" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isError">; +} + +declare module "lodash/isFinite" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isFinite">; +} + +declare module "lodash/isFunction" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isFunction">; +} + +declare module "lodash/isInteger" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isInteger">; +} + +declare module "lodash/isLength" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isLength">; +} + +declare module "lodash/isMap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isMap">; +} + +declare module "lodash/isMatch" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isMatch">; +} + +declare module "lodash/isMatchWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isMatchWith">; +} + +declare module "lodash/isNaN" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isNaN">; +} + +declare module "lodash/isNative" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isNative">; +} + +declare module "lodash/isNil" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isNil">; +} + +declare module "lodash/isNull" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isNull">; +} + +declare module "lodash/isNumber" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isNumber">; +} + +declare module "lodash/isObject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isObject">; +} + +declare module "lodash/isObjectLike" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isObjectLike">; +} + +declare module "lodash/isPlainObject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isPlainObject">; +} + +declare module "lodash/isRegExp" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isRegExp">; +} + +declare module "lodash/isSafeInteger" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isSafeInteger">; +} + +declare module "lodash/isSet" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isSet">; +} + +declare module "lodash/isString" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isString">; +} + +declare module "lodash/isSymbol" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isSymbol">; +} + +declare module "lodash/isTypedArray" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isTypedArray">; +} + +declare module "lodash/isUndefined" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isUndefined">; +} + +declare module "lodash/isWeakMap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isWeakMap">; +} + +declare module "lodash/isWeakSet" { + declare module.exports: $PropertyType<$Exports<"lodash">, "isWeakSet">; +} + +declare module "lodash/lt" { + declare module.exports: $PropertyType<$Exports<"lodash">, "lt">; +} + +declare module "lodash/lte" { + declare module.exports: $PropertyType<$Exports<"lodash">, "lte">; +} + +declare module "lodash/toArray" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toArray">; +} + +declare module "lodash/toFinite" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toFinite">; +} + +declare module "lodash/toInteger" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toInteger">; +} + +declare module "lodash/toLength" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toLength">; +} + +declare module "lodash/toNumber" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toNumber">; +} + +declare module "lodash/toPlainObject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toPlainObject">; +} + +declare module "lodash/toSafeInteger" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toSafeInteger">; +} + +declare module "lodash/toString" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toString">; +} + +declare module "lodash/add" { + declare module.exports: $PropertyType<$Exports<"lodash">, "add">; +} + +declare module "lodash/ceil" { + declare module.exports: $PropertyType<$Exports<"lodash">, "ceil">; +} + +declare module "lodash/divide" { + declare module.exports: $PropertyType<$Exports<"lodash">, "divide">; +} + +declare module "lodash/floor" { + declare module.exports: $PropertyType<$Exports<"lodash">, "floor">; +} + +declare module "lodash/max" { + declare module.exports: $PropertyType<$Exports<"lodash">, "max">; +} + +declare module "lodash/maxBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "maxBy">; +} + +declare module "lodash/mean" { + declare module.exports: $PropertyType<$Exports<"lodash">, "mean">; +} + +declare module "lodash/meanBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "meanBy">; +} + +declare module "lodash/min" { + declare module.exports: $PropertyType<$Exports<"lodash">, "min">; +} + +declare module "lodash/minBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "minBy">; +} + +declare module "lodash/multiply" { + declare module.exports: $PropertyType<$Exports<"lodash">, "multiply">; +} + +declare module "lodash/round" { + declare module.exports: $PropertyType<$Exports<"lodash">, "round">; +} + +declare module "lodash/subtract" { + declare module.exports: $PropertyType<$Exports<"lodash">, "subtract">; +} + +declare module "lodash/sum" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sum">; +} + +declare module "lodash/sumBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "sumBy">; +} + +declare module "lodash/clamp" { + declare module.exports: $PropertyType<$Exports<"lodash">, "clamp">; +} + +declare module "lodash/inRange" { + declare module.exports: $PropertyType<$Exports<"lodash">, "inRange">; +} + +declare module "lodash/random" { + declare module.exports: $PropertyType<$Exports<"lodash">, "random">; +} + +declare module "lodash/assign" { + declare module.exports: $PropertyType<$Exports<"lodash">, "assign">; +} + +declare module "lodash/assignIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "assignIn">; +} + +declare module "lodash/assignInWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "assignInWith">; +} + +declare module "lodash/assignWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "assignWith">; +} + +declare module "lodash/at" { + declare module.exports: $PropertyType<$Exports<"lodash">, "at">; +} + +declare module "lodash/create" { + declare module.exports: $PropertyType<$Exports<"lodash">, "create">; +} + +declare module "lodash/defaults" { + declare module.exports: $PropertyType<$Exports<"lodash">, "defaults">; +} + +declare module "lodash/defaultsDeep" { + declare module.exports: $PropertyType<$Exports<"lodash">, "defaultsDeep">; +} + +declare module "lodash/entries" { + declare module.exports: $PropertyType<$Exports<"lodash">, "entries">; +} + +declare module "lodash/entriesIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "entriesIn">; +} + +declare module "lodash/extend" { + declare module.exports: $PropertyType<$Exports<"lodash">, "extend">; +} + +declare module "lodash/extendWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "extendWith">; +} + +declare module "lodash/findKey" { + declare module.exports: $PropertyType<$Exports<"lodash">, "findKey">; +} + +declare module "lodash/findLastKey" { + declare module.exports: $PropertyType<$Exports<"lodash">, "findLastKey">; +} + +declare module "lodash/forIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forIn">; +} + +declare module "lodash/forInRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forInRight">; +} + +declare module "lodash/forOwn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forOwn">; +} + +declare module "lodash/forOwnRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "forOwnRight">; +} + +declare module "lodash/functions" { + declare module.exports: $PropertyType<$Exports<"lodash">, "functions">; +} + +declare module "lodash/functionsIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "functionsIn">; +} + +declare module "lodash/get" { + declare module.exports: $PropertyType<$Exports<"lodash">, "get">; +} + +declare module "lodash/has" { + declare module.exports: $PropertyType<$Exports<"lodash">, "has">; +} + +declare module "lodash/hasIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "hasIn">; +} + +declare module "lodash/invert" { + declare module.exports: $PropertyType<$Exports<"lodash">, "invert">; +} + +declare module "lodash/invertBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "invertBy">; +} + +declare module "lodash/invoke" { + declare module.exports: $PropertyType<$Exports<"lodash">, "invoke">; +} + +declare module "lodash/keys" { + declare module.exports: $PropertyType<$Exports<"lodash">, "keys">; +} + +declare module "lodash/keysIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "keysIn">; +} + +declare module "lodash/mapKeys" { + declare module.exports: $PropertyType<$Exports<"lodash">, "mapKeys">; +} + +declare module "lodash/mapValues" { + declare module.exports: $PropertyType<$Exports<"lodash">, "mapValues">; +} + +declare module "lodash/merge" { + declare module.exports: $PropertyType<$Exports<"lodash">, "merge">; +} + +declare module "lodash/mergeWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "mergeWith">; +} + +declare module "lodash/omit" { + declare module.exports: $PropertyType<$Exports<"lodash">, "omit">; +} + +declare module "lodash/omitBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "omitBy">; +} + +declare module "lodash/pick" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pick">; +} + +declare module "lodash/pickBy" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pickBy">; +} + +declare module "lodash/result" { + declare module.exports: $PropertyType<$Exports<"lodash">, "result">; +} + +declare module "lodash/set" { + declare module.exports: $PropertyType<$Exports<"lodash">, "set">; +} + +declare module "lodash/setWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "setWith">; +} + +declare module "lodash/toPairs" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toPairs">; +} + +declare module "lodash/toPairsIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toPairsIn">; +} + +declare module "lodash/transform" { + declare module.exports: $PropertyType<$Exports<"lodash">, "transform">; +} + +declare module "lodash/unset" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unset">; +} + +declare module "lodash/update" { + declare module.exports: $PropertyType<$Exports<"lodash">, "update">; +} + +declare module "lodash/updateWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "updateWith">; +} + +declare module "lodash/values" { + declare module.exports: $PropertyType<$Exports<"lodash">, "values">; +} + +declare module "lodash/valuesIn" { + declare module.exports: $PropertyType<$Exports<"lodash">, "valuesIn">; +} + +declare module "lodash/chain" { + declare module.exports: $PropertyType<$Exports<"lodash">, "chain">; +} + +declare module "lodash/tap" { + declare module.exports: $PropertyType<$Exports<"lodash">, "tap">; +} + +declare module "lodash/thru" { + declare module.exports: $PropertyType<$Exports<"lodash">, "thru">; +} + +declare module "lodash/camelCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "camelCase">; +} + +declare module "lodash/capitalize" { + declare module.exports: $PropertyType<$Exports<"lodash">, "capitalize">; +} + +declare module "lodash/deburr" { + declare module.exports: $PropertyType<$Exports<"lodash">, "deburr">; +} + +declare module "lodash/endsWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "endsWith">; +} + +declare module "lodash/escape" { + declare module.exports: $PropertyType<$Exports<"lodash">, "escape">; +} + +declare module "lodash/escapeRegExp" { + declare module.exports: $PropertyType<$Exports<"lodash">, "escapeRegExp">; +} + +declare module "lodash/kebabCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "kebabCase">; +} + +declare module "lodash/lowerCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "lowerCase">; +} + +declare module "lodash/lowerFirst" { + declare module.exports: $PropertyType<$Exports<"lodash">, "lowerFirst">; +} + +declare module "lodash/pad" { + declare module.exports: $PropertyType<$Exports<"lodash">, "pad">; +} + +declare module "lodash/padEnd" { + declare module.exports: $PropertyType<$Exports<"lodash">, "padEnd">; +} + +declare module "lodash/padStart" { + declare module.exports: $PropertyType<$Exports<"lodash">, "padStart">; +} + +declare module "lodash/parseInt" { + declare module.exports: $PropertyType<$Exports<"lodash">, "parseInt">; +} + +declare module "lodash/repeat" { + declare module.exports: $PropertyType<$Exports<"lodash">, "repeat">; +} + +declare module "lodash/replace" { + declare module.exports: $PropertyType<$Exports<"lodash">, "replace">; +} + +declare module "lodash/snakeCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "snakeCase">; +} + +declare module "lodash/split" { + declare module.exports: $PropertyType<$Exports<"lodash">, "split">; +} + +declare module "lodash/startCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "startCase">; +} + +declare module "lodash/startsWith" { + declare module.exports: $PropertyType<$Exports<"lodash">, "startsWith">; +} + +declare module "lodash/template" { + declare module.exports: $PropertyType<$Exports<"lodash">, "template">; +} + +declare module "lodash/toLower" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toLower">; +} + +declare module "lodash/toUpper" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toUpper">; +} + +declare module "lodash/trim" { + declare module.exports: $PropertyType<$Exports<"lodash">, "trim">; +} + +declare module "lodash/trimEnd" { + declare module.exports: $PropertyType<$Exports<"lodash">, "trimEnd">; +} + +declare module "lodash/trimStart" { + declare module.exports: $PropertyType<$Exports<"lodash">, "trimStart">; +} + +declare module "lodash/truncate" { + declare module.exports: $PropertyType<$Exports<"lodash">, "truncate">; +} + +declare module "lodash/unescape" { + declare module.exports: $PropertyType<$Exports<"lodash">, "unescape">; +} + +declare module "lodash/upperCase" { + declare module.exports: $PropertyType<$Exports<"lodash">, "upperCase">; +} + +declare module "lodash/upperFirst" { + declare module.exports: $PropertyType<$Exports<"lodash">, "upperFirst">; +} + +declare module "lodash/words" { + declare module.exports: $PropertyType<$Exports<"lodash">, "words">; +} + +declare module "lodash/attempt" { + declare module.exports: $PropertyType<$Exports<"lodash">, "attempt">; +} + +declare module "lodash/bindAll" { + declare module.exports: $PropertyType<$Exports<"lodash">, "bindAll">; +} + +declare module "lodash/cond" { + declare module.exports: $PropertyType<$Exports<"lodash">, "cond">; +} + +declare module "lodash/conforms" { + declare module.exports: $PropertyType<$Exports<"lodash">, "conforms">; +} + +declare module "lodash/constant" { + declare module.exports: $PropertyType<$Exports<"lodash">, "constant">; +} + +declare module "lodash/defaultTo" { + declare module.exports: $PropertyType<$Exports<"lodash">, "defaultTo">; +} + +declare module "lodash/flow" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flow">; +} + +declare module "lodash/flowRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "flowRight">; +} + +declare module "lodash/identity" { + declare module.exports: $PropertyType<$Exports<"lodash">, "identity">; +} + +declare module "lodash/iteratee" { + declare module.exports: $PropertyType<$Exports<"lodash">, "iteratee">; +} + +declare module "lodash/matches" { + declare module.exports: $PropertyType<$Exports<"lodash">, "matches">; +} + +declare module "lodash/matchesProperty" { + declare module.exports: $PropertyType<$Exports<"lodash">, "matchesProperty">; +} + +declare module "lodash/method" { + declare module.exports: $PropertyType<$Exports<"lodash">, "method">; +} + +declare module "lodash/methodOf" { + declare module.exports: $PropertyType<$Exports<"lodash">, "methodOf">; +} + +declare module "lodash/mixin" { + declare module.exports: $PropertyType<$Exports<"lodash">, "mixin">; +} + +declare module "lodash/noConflict" { + declare module.exports: $PropertyType<$Exports<"lodash">, "noConflict">; +} + +declare module "lodash/noop" { + declare module.exports: $PropertyType<$Exports<"lodash">, "noop">; +} + +declare module "lodash/nthArg" { + declare module.exports: $PropertyType<$Exports<"lodash">, "nthArg">; +} + +declare module "lodash/over" { + declare module.exports: $PropertyType<$Exports<"lodash">, "over">; +} + +declare module "lodash/overEvery" { + declare module.exports: $PropertyType<$Exports<"lodash">, "overEvery">; +} + +declare module "lodash/overSome" { + declare module.exports: $PropertyType<$Exports<"lodash">, "overSome">; +} + +declare module "lodash/property" { + declare module.exports: $PropertyType<$Exports<"lodash">, "property">; +} + +declare module "lodash/propertyOf" { + declare module.exports: $PropertyType<$Exports<"lodash">, "propertyOf">; +} + +declare module "lodash/range" { + declare module.exports: $PropertyType<$Exports<"lodash">, "range">; +} + +declare module "lodash/rangeRight" { + declare module.exports: $PropertyType<$Exports<"lodash">, "rangeRight">; +} + +declare module "lodash/runInContext" { + declare module.exports: $PropertyType<$Exports<"lodash">, "runInContext">; +} + +declare module "lodash/stubArray" { + declare module.exports: $PropertyType<$Exports<"lodash">, "stubArray">; +} + +declare module "lodash/stubFalse" { + declare module.exports: $PropertyType<$Exports<"lodash">, "stubFalse">; +} + +declare module "lodash/stubObject" { + declare module.exports: $PropertyType<$Exports<"lodash">, "stubObject">; +} + +declare module "lodash/stubString" { + declare module.exports: $PropertyType<$Exports<"lodash">, "stubString">; +} + +declare module "lodash/stubTrue" { + declare module.exports: $PropertyType<$Exports<"lodash">, "stubTrue">; +} + +declare module "lodash/times" { + declare module.exports: $PropertyType<$Exports<"lodash">, "times">; +} + +declare module "lodash/toPath" { + declare module.exports: $PropertyType<$Exports<"lodash">, "toPath">; +} + +declare module "lodash/uniqueId" { + declare module.exports: $PropertyType<$Exports<"lodash">, "uniqueId">; +} + +declare module "lodash/fp/chunk" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "chunk">; +} + +declare module "lodash/fp/compact" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "compact">; +} + +declare module "lodash/fp/concat" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "concat">; +} + +declare module "lodash/fp/difference" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "difference">; +} + +declare module "lodash/fp/differenceBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "differenceBy">; +} + +declare module "lodash/fp/differenceWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "differenceWith">; +} + +declare module "lodash/fp/drop" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "drop">; +} + +declare module "lodash/fp/dropLast" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dropLast">; +} + +declare module "lodash/fp/dropRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dropRight">; +} + +declare module "lodash/fp/dropRightWhile" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dropRightWhile">; +} + +declare module "lodash/fp/dropWhile" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dropWhile">; +} + +declare module "lodash/fp/dropLastWhile" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dropLastWhile">; +} + +declare module "lodash/fp/fill" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "fill">; +} + +declare module "lodash/fp/findIndex" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findIndex">; +} + +declare module "lodash/fp/findIndexFrom" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findIndexFrom">; +} + +declare module "lodash/fp/findLastIndex" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findLastIndex">; +} + +declare module "lodash/fp/findLastIndexFrom" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findLastIndexFrom">; +} + +declare module "lodash/fp/first" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "first">; +} + +declare module "lodash/fp/flatten" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flatten">; +} + +declare module "lodash/fp/unnest" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unnest">; +} + +declare module "lodash/fp/flattenDeep" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flattenDeep">; +} + +declare module "lodash/fp/flattenDepth" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flattenDepth">; +} + +declare module "lodash/fp/fromPairs" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "fromPairs">; +} + +declare module "lodash/fp/head" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "head">; +} + +declare module "lodash/fp/indexOf" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "indexOf">; +} + +declare module "lodash/fp/indexOfFrom" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "indexOfFrom">; +} + +declare module "lodash/fp/initial" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "initial">; +} + +declare module "lodash/fp/init" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "init">; +} + +declare module "lodash/fp/intersection" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "intersection">; +} + +declare module "lodash/fp/intersectionBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "intersectionBy">; +} + +declare module "lodash/fp/intersectionWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "intersectionWith">; +} + +declare module "lodash/fp/join" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "join">; +} + +declare module "lodash/fp/last" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "last">; +} + +declare module "lodash/fp/lastIndexOf" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lastIndexOf">; +} + +declare module "lodash/fp/lastIndexOfFrom" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lastIndexOfFrom">; +} + +declare module "lodash/fp/nth" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "nth">; +} + +declare module "lodash/fp/pull" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pull">; +} + +declare module "lodash/fp/pullAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pullAll">; +} + +declare module "lodash/fp/pullAllBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pullAllBy">; +} + +declare module "lodash/fp/pullAllWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pullAllWith">; +} + +declare module "lodash/fp/pullAt" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pullAt">; +} + +declare module "lodash/fp/remove" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "remove">; +} + +declare module "lodash/fp/reverse" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "reverse">; +} + +declare module "lodash/fp/slice" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "slice">; +} + +declare module "lodash/fp/sortedIndex" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedIndex">; +} + +declare module "lodash/fp/sortedIndexBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedIndexBy">; +} + +declare module "lodash/fp/sortedIndexOf" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedIndexOf">; +} + +declare module "lodash/fp/sortedLastIndex" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedLastIndex">; +} + +declare module "lodash/fp/sortedLastIndexBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedLastIndexBy">; +} + +declare module "lodash/fp/sortedLastIndexOf" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedLastIndexOf">; +} + +declare module "lodash/fp/sortedUniq" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedUniq">; +} + +declare module "lodash/fp/sortedUniqBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedUniqBy">; +} + +declare module "lodash/fp/tail" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "tail">; +} + +declare module "lodash/fp/take" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "take">; +} + +declare module "lodash/fp/takeRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "takeRight">; +} + +declare module "lodash/fp/takeLast" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "takeLast">; +} + +declare module "lodash/fp/takeRightWhile" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "takeRightWhile">; +} + +declare module "lodash/fp/takeLastWhile" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "takeLastWhile">; +} + +declare module "lodash/fp/takeWhile" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "takeWhile">; +} + +declare module "lodash/fp/union" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "union">; +} + +declare module "lodash/fp/unionBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unionBy">; +} + +declare module "lodash/fp/unionWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unionWith">; +} + +declare module "lodash/fp/uniq" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "uniq">; +} + +declare module "lodash/fp/uniqBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "uniqBy">; +} + +declare module "lodash/fp/uniqWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "uniqWith">; +} + +declare module "lodash/fp/unzip" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unzip">; +} + +declare module "lodash/fp/unzipWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unzipWith">; +} + +declare module "lodash/fp/without" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "without">; +} + +declare module "lodash/fp/xor" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "xor">; +} + +declare module "lodash/fp/symmetricDifference" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "symmetricDifference">; +} + +declare module "lodash/fp/xorBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "xorBy">; +} + +declare module "lodash/fp/symmetricDifferenceBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "symmetricDifferenceBy">; +} + +declare module "lodash/fp/xorWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "xorWith">; +} + +declare module "lodash/fp/symmetricDifferenceWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "symmetricDifferenceWith">; +} + +declare module "lodash/fp/zip" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zip">; +} + +declare module "lodash/fp/zipAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zipAll">; +} + +declare module "lodash/fp/zipObject" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zipObject">; +} + +declare module "lodash/fp/zipObj" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zipObj">; +} + +declare module "lodash/fp/zipObjectDeep" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zipObjectDeep">; +} + +declare module "lodash/fp/zipWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zipWith">; +} + +declare module "lodash/fp/countBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "countBy">; +} + +declare module "lodash/fp/each" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "each">; +} + +declare module "lodash/fp/eachRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "eachRight">; +} + +declare module "lodash/fp/every" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "every">; +} + +declare module "lodash/fp/all" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "all">; +} + +declare module "lodash/fp/filter" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "filter">; +} + +declare module "lodash/fp/find" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "find">; +} + +declare module "lodash/fp/findFrom" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findFrom">; +} + +declare module "lodash/fp/findLast" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findLast">; +} + +declare module "lodash/fp/findLastFrom" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findLastFrom">; +} + +declare module "lodash/fp/flatMap" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flatMap">; +} + +declare module "lodash/fp/flatMapDeep" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flatMapDeep">; +} + +declare module "lodash/fp/flatMapDepth" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flatMapDepth">; +} + +declare module "lodash/fp/forEach" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forEach">; +} + +declare module "lodash/fp/forEachRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forEachRight">; +} + +declare module "lodash/fp/groupBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "groupBy">; +} + +declare module "lodash/fp/includes" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "includes">; +} + +declare module "lodash/fp/contains" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "contains">; +} + +declare module "lodash/fp/includesFrom" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "includesFrom">; +} + +declare module "lodash/fp/invokeMap" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invokeMap">; +} + +declare module "lodash/fp/invokeArgsMap" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invokeArgsMap">; +} + +declare module "lodash/fp/keyBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "keyBy">; +} + +declare module "lodash/fp/indexBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "indexBy">; +} + +declare module "lodash/fp/map" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "map">; +} + +declare module "lodash/fp/pluck" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pluck">; +} + +declare module "lodash/fp/orderBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "orderBy">; +} + +declare module "lodash/fp/partition" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "partition">; +} + +declare module "lodash/fp/reduce" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "reduce">; +} + +declare module "lodash/fp/reduceRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "reduceRight">; +} + +declare module "lodash/fp/reject" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "reject">; +} + +declare module "lodash/fp/sample" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sample">; +} + +declare module "lodash/fp/sampleSize" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sampleSize">; +} + +declare module "lodash/fp/shuffle" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "shuffle">; +} + +declare module "lodash/fp/size" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "size">; +} + +declare module "lodash/fp/some" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "some">; +} + +declare module "lodash/fp/any" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "any">; +} + +declare module "lodash/fp/sortBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortBy">; +} + +declare module "lodash/fp/now" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "now">; +} + +declare module "lodash/fp/after" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "after">; +} + +declare module "lodash/fp/ary" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "ary">; +} + +declare module "lodash/fp/nAry" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "nAry">; +} + +declare module "lodash/fp/before" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "before">; +} + +declare module "lodash/fp/bind" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "bind">; +} + +declare module "lodash/fp/bindKey" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "bindKey">; +} + +declare module "lodash/fp/curry" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "curry">; +} + +declare module "lodash/fp/curryN" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "curryN">; +} + +declare module "lodash/fp/curryRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "curryRight">; +} + +declare module "lodash/fp/curryRightN" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "curryRightN">; +} + +declare module "lodash/fp/debounce" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "debounce">; +} + +declare module "lodash/fp/defer" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defer">; +} + +declare module "lodash/fp/delay" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "delay">; +} + +declare module "lodash/fp/flip" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flip">; +} + +declare module "lodash/fp/memoize" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "memoize">; +} + +declare module "lodash/fp/negate" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "negate">; +} + +declare module "lodash/fp/complement" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "complement">; +} + +declare module "lodash/fp/once" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "once">; +} + +declare module "lodash/fp/overArgs" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "overArgs">; +} + +declare module "lodash/fp/useWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "useWith">; +} + +declare module "lodash/fp/partial" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "partial">; +} + +declare module "lodash/fp/partialRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "partialRight">; +} + +declare module "lodash/fp/rearg" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "rearg">; +} + +declare module "lodash/fp/rest" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "rest">; +} + +declare module "lodash/fp/unapply" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unapply">; +} + +declare module "lodash/fp/restFrom" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "restFrom">; +} + +declare module "lodash/fp/spread" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "spread">; +} + +declare module "lodash/fp/apply" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "apply">; +} + +declare module "lodash/fp/spreadFrom" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "spreadFrom">; +} + +declare module "lodash/fp/throttle" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "throttle">; +} + +declare module "lodash/fp/unary" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unary">; +} + +declare module "lodash/fp/wrap" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "wrap">; +} + +declare module "lodash/fp/castArray" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "castArray">; +} + +declare module "lodash/fp/clone" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "clone">; +} + +declare module "lodash/fp/cloneDeep" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "cloneDeep">; +} + +declare module "lodash/fp/cloneDeepWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "cloneDeepWith">; +} + +declare module "lodash/fp/cloneWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "cloneWith">; +} + +declare module "lodash/fp/conformsTo" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "conformsTo">; +} + +declare module "lodash/fp/where" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "where">; +} + +declare module "lodash/fp/conforms" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "conforms">; +} + +declare module "lodash/fp/eq" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "eq">; +} + +declare module "lodash/fp/identical" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "identical">; +} + +declare module "lodash/fp/gt" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "gt">; +} + +declare module "lodash/fp/gte" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "gte">; +} + +declare module "lodash/fp/isArguments" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isArguments">; +} + +declare module "lodash/fp/isArray" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isArray">; +} + +declare module "lodash/fp/isArrayBuffer" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isArrayBuffer">; +} + +declare module "lodash/fp/isArrayLike" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isArrayLike">; +} + +declare module "lodash/fp/isArrayLikeObject" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isArrayLikeObject">; +} + +declare module "lodash/fp/isBoolean" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isBoolean">; +} + +declare module "lodash/fp/isBuffer" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isBuffer">; +} + +declare module "lodash/fp/isDate" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isDate">; +} + +declare module "lodash/fp/isElement" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isElement">; +} + +declare module "lodash/fp/isEmpty" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isEmpty">; +} + +declare module "lodash/fp/isEqual" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isEqual">; +} + +declare module "lodash/fp/equals" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "equals">; +} + +declare module "lodash/fp/isEqualWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isEqualWith">; +} + +declare module "lodash/fp/isError" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isError">; +} + +declare module "lodash/fp/isFinite" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isFinite">; +} + +declare module "lodash/fp/isFunction" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isFunction">; +} + +declare module "lodash/fp/isInteger" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isInteger">; +} + +declare module "lodash/fp/isLength" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isLength">; +} + +declare module "lodash/fp/isMap" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isMap">; +} + +declare module "lodash/fp/isMatch" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isMatch">; +} + +declare module "lodash/fp/whereEq" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "whereEq">; +} + +declare module "lodash/fp/isMatchWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isMatchWith">; +} + +declare module "lodash/fp/isNaN" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isNaN">; +} + +declare module "lodash/fp/isNative" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isNative">; +} + +declare module "lodash/fp/isNil" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isNil">; +} + +declare module "lodash/fp/isNull" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isNull">; +} + +declare module "lodash/fp/isNumber" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isNumber">; +} + +declare module "lodash/fp/isObject" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isObject">; +} + +declare module "lodash/fp/isObjectLike" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isObjectLike">; +} + +declare module "lodash/fp/isPlainObject" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isPlainObject">; +} + +declare module "lodash/fp/isRegExp" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isRegExp">; +} + +declare module "lodash/fp/isSafeInteger" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isSafeInteger">; +} + +declare module "lodash/fp/isSet" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isSet">; +} + +declare module "lodash/fp/isString" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isString">; +} + +declare module "lodash/fp/isSymbol" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isSymbol">; +} + +declare module "lodash/fp/isTypedArray" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isTypedArray">; +} + +declare module "lodash/fp/isUndefined" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isUndefined">; +} + +declare module "lodash/fp/isWeakMap" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isWeakMap">; +} + +declare module "lodash/fp/isWeakSet" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isWeakSet">; +} + +declare module "lodash/fp/lt" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lt">; +} + +declare module "lodash/fp/lte" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lte">; +} + +declare module "lodash/fp/toArray" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toArray">; +} + +declare module "lodash/fp/toFinite" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toFinite">; +} + +declare module "lodash/fp/toInteger" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toInteger">; +} + +declare module "lodash/fp/toLength" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toLength">; +} + +declare module "lodash/fp/toNumber" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toNumber">; +} + +declare module "lodash/fp/toPlainObject" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toPlainObject">; +} + +declare module "lodash/fp/toSafeInteger" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toSafeInteger">; +} + +declare module "lodash/fp/toString" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toString">; +} + +declare module "lodash/fp/add" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "add">; +} + +declare module "lodash/fp/ceil" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "ceil">; +} + +declare module "lodash/fp/divide" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "divide">; +} + +declare module "lodash/fp/floor" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "floor">; +} + +declare module "lodash/fp/max" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "max">; +} + +declare module "lodash/fp/maxBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "maxBy">; +} + +declare module "lodash/fp/mean" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mean">; +} + +declare module "lodash/fp/meanBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "meanBy">; +} + +declare module "lodash/fp/min" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "min">; +} + +declare module "lodash/fp/minBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "minBy">; +} + +declare module "lodash/fp/multiply" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "multiply">; +} + +declare module "lodash/fp/round" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "round">; +} + +declare module "lodash/fp/subtract" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "subtract">; +} + +declare module "lodash/fp/sum" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sum">; +} + +declare module "lodash/fp/sumBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sumBy">; +} + +declare module "lodash/fp/clamp" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "clamp">; +} + +declare module "lodash/fp/inRange" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "inRange">; +} + +declare module "lodash/fp/random" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "random">; +} + +declare module "lodash/fp/assign" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assign">; +} + +declare module "lodash/fp/assignAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignAll">; +} + +declare module "lodash/fp/assignInAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignInAll">; +} + +declare module "lodash/fp/extendAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "extendAll">; +} + +declare module "lodash/fp/assignIn" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignIn">; +} + +declare module "lodash/fp/assignInWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignInWith">; +} + +declare module "lodash/fp/assignWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignWith">; +} + +declare module "lodash/fp/assignInAllWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignInAllWith">; +} + +declare module "lodash/fp/extendAllWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "extendAllWith">; +} + +declare module "lodash/fp/assignAllWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignAllWith">; +} + +declare module "lodash/fp/at" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "at">; +} + +declare module "lodash/fp/props" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "props">; +} + +declare module "lodash/fp/paths" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "paths">; +} + +declare module "lodash/fp/create" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "create">; +} + +declare module "lodash/fp/defaults" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defaults">; +} + +declare module "lodash/fp/defaultsAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defaultsAll">; +} + +declare module "lodash/fp/defaultsDeep" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defaultsDeep">; +} + +declare module "lodash/fp/defaultsDeepAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defaultsDeepAll">; +} + +declare module "lodash/fp/entries" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "entries">; +} + +declare module "lodash/fp/entriesIn" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "entriesIn">; +} + +declare module "lodash/fp/extend" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "extend">; +} + +declare module "lodash/fp/extendWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "extendWith">; +} + +declare module "lodash/fp/findKey" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findKey">; +} + +declare module "lodash/fp/findLastKey" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findLastKey">; +} + +declare module "lodash/fp/forIn" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forIn">; +} + +declare module "lodash/fp/forInRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forInRight">; +} + +declare module "lodash/fp/forOwn" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forOwn">; +} + +declare module "lodash/fp/forOwnRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forOwnRight">; +} + +declare module "lodash/fp/functions" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "functions">; +} + +declare module "lodash/fp/functionsIn" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "functionsIn">; +} + +declare module "lodash/fp/get" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "get">; +} + +declare module "lodash/fp/prop" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "prop">; +} + +declare module "lodash/fp/path" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "path">; +} + +declare module "lodash/fp/getOr" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "getOr">; +} + +declare module "lodash/fp/propOr" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "propOr">; +} + +declare module "lodash/fp/pathOr" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pathOr">; +} + +declare module "lodash/fp/has" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "has">; +} + +declare module "lodash/fp/hasIn" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "hasIn">; +} + +declare module "lodash/fp/invert" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invert">; +} + +declare module "lodash/fp/invertObj" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invertObj">; +} + +declare module "lodash/fp/invertBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invertBy">; +} + +declare module "lodash/fp/invoke" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invoke">; +} + +declare module "lodash/fp/invokeArgs" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invokeArgs">; +} + +declare module "lodash/fp/keys" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "keys">; +} + +declare module "lodash/fp/keysIn" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "keysIn">; +} + +declare module "lodash/fp/mapKeys" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mapKeys">; +} + +declare module "lodash/fp/mapValues" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mapValues">; +} + +declare module "lodash/fp/merge" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "merge">; +} + +declare module "lodash/fp/mergeAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mergeAll">; +} + +declare module "lodash/fp/mergeWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mergeWith">; +} + +declare module "lodash/fp/mergeAllWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mergeAllWith">; +} + +declare module "lodash/fp/omit" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "omit">; +} + +declare module "lodash/fp/omitAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "omitAll">; +} + +declare module "lodash/fp/omitBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "omitBy">; +} + +declare module "lodash/fp/pick" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pick">; +} + +declare module "lodash/fp/pickAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pickAll">; +} + +declare module "lodash/fp/pickBy" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pickBy">; +} + +declare module "lodash/fp/result" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "result">; +} + +declare module "lodash/fp/set" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "set">; +} + +declare module "lodash/fp/assoc" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assoc">; +} + +declare module "lodash/fp/assocPath" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assocPath">; +} + +declare module "lodash/fp/setWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "setWith">; +} + +declare module "lodash/fp/toPairs" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toPairs">; +} + +declare module "lodash/fp/toPairsIn" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toPairsIn">; +} + +declare module "lodash/fp/transform" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "transform">; +} + +declare module "lodash/fp/unset" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unset">; +} + +declare module "lodash/fp/dissoc" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dissoc">; +} + +declare module "lodash/fp/dissocPath" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dissocPath">; +} + +declare module "lodash/fp/update" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "update">; +} + +declare module "lodash/fp/updateWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "updateWith">; +} + +declare module "lodash/fp/values" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "values">; +} + +declare module "lodash/fp/valuesIn" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "valuesIn">; +} + +declare module "lodash/fp/tap" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "tap">; +} + +declare module "lodash/fp/thru" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "thru">; +} + +declare module "lodash/fp/camelCase" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "camelCase">; +} + +declare module "lodash/fp/capitalize" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "capitalize">; +} + +declare module "lodash/fp/deburr" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "deburr">; +} + +declare module "lodash/fp/endsWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "endsWith">; +} + +declare module "lodash/fp/escape" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "escape">; +} + +declare module "lodash/fp/escapeRegExp" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "escapeRegExp">; +} + +declare module "lodash/fp/kebabCase" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "kebabCase">; +} + +declare module "lodash/fp/lowerCase" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lowerCase">; +} + +declare module "lodash/fp/lowerFirst" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lowerFirst">; +} + +declare module "lodash/fp/pad" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pad">; +} + +declare module "lodash/fp/padChars" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "padChars">; +} + +declare module "lodash/fp/padEnd" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "padEnd">; +} + +declare module "lodash/fp/padCharsEnd" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "padCharsEnd">; +} + +declare module "lodash/fp/padStart" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "padStart">; +} + +declare module "lodash/fp/padCharsStart" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "padCharsStart">; +} + +declare module "lodash/fp/parseInt" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "parseInt">; +} + +declare module "lodash/fp/repeat" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "repeat">; +} + +declare module "lodash/fp/replace" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "replace">; +} + +declare module "lodash/fp/snakeCase" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "snakeCase">; +} + +declare module "lodash/fp/split" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "split">; +} + +declare module "lodash/fp/startCase" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "startCase">; +} + +declare module "lodash/fp/startsWith" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "startsWith">; +} + +declare module "lodash/fp/template" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "template">; +} + +declare module "lodash/fp/toLower" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toLower">; +} + +declare module "lodash/fp/toUpper" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toUpper">; +} + +declare module "lodash/fp/trim" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trim">; +} + +declare module "lodash/fp/trimChars" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trimChars">; +} + +declare module "lodash/fp/trimEnd" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trimEnd">; +} + +declare module "lodash/fp/trimCharsEnd" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trimCharsEnd">; +} + +declare module "lodash/fp/trimStart" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trimStart">; +} + +declare module "lodash/fp/trimCharsStart" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trimCharsStart">; +} + +declare module "lodash/fp/truncate" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "truncate">; +} + +declare module "lodash/fp/unescape" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unescape">; +} + +declare module "lodash/fp/upperCase" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "upperCase">; +} + +declare module "lodash/fp/upperFirst" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "upperFirst">; +} + +declare module "lodash/fp/words" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "words">; +} + +declare module "lodash/fp/attempt" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "attempt">; +} + +declare module "lodash/fp/bindAll" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "bindAll">; +} + +declare module "lodash/fp/cond" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "cond">; +} + +declare module "lodash/fp/constant" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "constant">; +} + +declare module "lodash/fp/always" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "always">; +} + +declare module "lodash/fp/defaultTo" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defaultTo">; +} + +declare module "lodash/fp/flow" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flow">; +} + +declare module "lodash/fp/pipe" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pipe">; +} + +declare module "lodash/fp/flowRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flowRight">; +} + +declare module "lodash/fp/compose" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "compose">; +} + +declare module "lodash/fp/identity" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "identity">; +} + +declare module "lodash/fp/iteratee" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "iteratee">; +} + +declare module "lodash/fp/matches" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "matches">; +} + +declare module "lodash/fp/matchesProperty" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "matchesProperty">; +} + +declare module "lodash/fp/propEq" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "propEq">; +} + +declare module "lodash/fp/pathEq" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pathEq">; +} + +declare module "lodash/fp/method" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "method">; +} + +declare module "lodash/fp/methodOf" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "methodOf">; +} + +declare module "lodash/fp/mixin" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mixin">; +} + +declare module "lodash/fp/noConflict" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "noConflict">; +} + +declare module "lodash/fp/noop" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "noop">; +} + +declare module "lodash/fp/nthArg" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "nthArg">; +} + +declare module "lodash/fp/over" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "over">; +} + +declare module "lodash/fp/juxt" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "juxt">; +} + +declare module "lodash/fp/overEvery" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "overEvery">; +} + +declare module "lodash/fp/allPass" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "allPass">; +} + +declare module "lodash/fp/overSome" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "overSome">; +} + +declare module "lodash/fp/anyPass" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "anyPass">; +} + +declare module "lodash/fp/property" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "property">; +} + +declare module "lodash/fp/propertyOf" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "propertyOf">; +} + +declare module "lodash/fp/range" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "range">; +} + +declare module "lodash/fp/rangeStep" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "rangeStep">; +} + +declare module "lodash/fp/rangeRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "rangeRight">; +} + +declare module "lodash/fp/rangeStepRight" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "rangeStepRight">; +} + +declare module "lodash/fp/runInContext" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "runInContext">; +} + +declare module "lodash/fp/stubArray" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "stubArray">; +} + +declare module "lodash/fp/stubFalse" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "stubFalse">; +} + +declare module "lodash/fp/F" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "F">; +} + +declare module "lodash/fp/stubObject" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "stubObject">; +} + +declare module "lodash/fp/stubString" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "stubString">; +} + +declare module "lodash/fp/stubTrue" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "stubTrue">; +} + +declare module "lodash/fp/T" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "T">; +} + +declare module "lodash/fp/times" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "times">; +} + +declare module "lodash/fp/toPath" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toPath">; +} + +declare module "lodash/fp/uniqueId" { + declare module.exports: $PropertyType<$Exports<"lodash/fp">, "uniqueId">; +} diff --git a/flow-typed/npm/mocha_v3.1.x.js b/flow-typed/npm/mocha_v4.x.x.js similarity index 98% rename from flow-typed/npm/mocha_v3.1.x.js rename to flow-typed/npm/mocha_v4.x.x.js index 1a35f6e448..8131665121 100644 --- a/flow-typed/npm/mocha_v3.1.x.js +++ b/flow-typed/npm/mocha_v4.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 58fb316c623a4f7918b0e2529256be8c -// flow-typed version: 0ef6a9a08b/mocha_v3.1.x/flow_>=v0.28.x +// flow-typed signature: e8d50d58f9d96065d29f810f297eaeb2 +// flow-typed version: 883196e42b/mocha_v4.x.x/flow_>=v0.28.x declare interface $npm$mocha$SetupOptions { slow?: number; diff --git a/flow-typed/npm/node-sass_vx.x.x.js b/flow-typed/npm/node-sass_vx.x.x.js index 01c92ba66d..428abef4f6 100644 --- a/flow-typed/npm/node-sass_vx.x.x.js +++ b/flow-typed/npm/node-sass_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 1919a924eefa5d938a9db94495f489ae -// flow-typed version: <>/node-sass_v^4.5.3/flow_v0.59.0 +// flow-typed signature: 0b4a29afd272ff394bfd6359a9c2a307 +// flow-typed version: <>/node-sass_v^4.7.2/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -42,6 +42,10 @@ declare module 'node-sass/lib/render' { declare module.exports: any; } +declare module 'node-sass/lib/watcher' { + declare module.exports: any; +} + declare module 'node-sass/scripts/build' { declare module.exports: any; } @@ -146,10 +150,18 @@ declare module 'node-sass/test/spec' { declare module.exports: any; } +declare module 'node-sass/test/types' { + declare module.exports: any; +} + declare module 'node-sass/test/useragent' { declare module.exports: any; } +declare module 'node-sass/test/watcher' { + declare module.exports: any; +} + // Filename aliases declare module 'node-sass/lib/binding.js' { declare module.exports: $Exports<'node-sass/lib/binding'>; @@ -166,6 +178,9 @@ declare module 'node-sass/lib/index.js' { declare module 'node-sass/lib/render.js' { declare module.exports: $Exports<'node-sass/lib/render'>; } +declare module 'node-sass/lib/watcher.js' { + declare module.exports: $Exports<'node-sass/lib/watcher'>; +} declare module 'node-sass/scripts/build.js' { declare module.exports: $Exports<'node-sass/scripts/build'>; } @@ -244,6 +259,12 @@ declare module 'node-sass/test/scripts/util/proxy.js' { declare module 'node-sass/test/spec.js' { declare module.exports: $Exports<'node-sass/test/spec'>; } +declare module 'node-sass/test/types.js' { + declare module.exports: $Exports<'node-sass/test/types'>; +} declare module 'node-sass/test/useragent.js' { declare module.exports: $Exports<'node-sass/test/useragent'>; } +declare module 'node-sass/test/watcher.js' { + declare module.exports: $Exports<'node-sass/test/watcher'>; +} diff --git a/flow-typed/npm/nyc_vx.x.x.js b/flow-typed/npm/nyc_vx.x.x.js index b2163ef35f..00df503ebf 100644 --- a/flow-typed/npm/nyc_vx.x.x.js +++ b/flow-typed/npm/nyc_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 94ced54c74ac5ca02a079aefd087e35a -// flow-typed version: <>/nyc_v^11.0.3/flow_v0.59.0 +// flow-typed signature: 43a01e4bf8956c2436445a58b9d7627d +// flow-typed version: <>/nyc_v^11.0.3/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/object.entries_vx.x.x.js b/flow-typed/npm/object.entries_vx.x.x.js index 745165b63d..53bbaea808 100644 --- a/flow-typed/npm/object.entries_vx.x.x.js +++ b/flow-typed/npm/object.entries_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 70a7c38f54db447a76bf281ee40c9e6c -// flow-typed version: <>/object.entries_v^1.0.4/flow_v0.59.0 +// flow-typed signature: 64ddbfdcf5ad756397b550393575ff06 +// flow-typed version: <>/object.entries_v^1.0.4/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/postcss-loader_vx.x.x.js b/flow-typed/npm/postcss-loader_vx.x.x.js index 9529e0c3a7..7615f40a20 100644 --- a/flow-typed/npm/postcss-loader_vx.x.x.js +++ b/flow-typed/npm/postcss-loader_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: e5091ab7e0b21c59c32aed419b263687 -// flow-typed version: <>/postcss-loader_v^2.0.6/flow_v0.59.0 +// flow-typed signature: b712b4f3f0f6ac04f9224ad32da35674 +// flow-typed version: <>/postcss-loader_v^2.0.6/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/prettier-eslint-cli_vx.x.x.js b/flow-typed/npm/prettier-eslint-cli_vx.x.x.js index 2617db91e4..29aad32a0d 100644 --- a/flow-typed/npm/prettier-eslint-cli_vx.x.x.js +++ b/flow-typed/npm/prettier-eslint-cli_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 84a4d7b5d0dd615329dde5b42421e66c -// flow-typed version: <>/prettier-eslint-cli_v^4.1.1/flow_v0.59.0 +// flow-typed signature: c79eef2812f8780b2195b0a0bc14e04e +// flow-typed version: <>/prettier-eslint-cli_v^4.7.1/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -26,6 +26,10 @@ declare module 'prettier-eslint-cli/dist/add-exception-handler' { declare module.exports: any; } +declare module 'prettier-eslint-cli/dist/argv' { + declare module.exports: any; +} + declare module 'prettier-eslint-cli/dist/format-files' { declare module.exports: any; } @@ -54,6 +58,9 @@ declare module 'prettier-eslint-cli/dist/uncaught-exception-handler' { declare module 'prettier-eslint-cli/dist/add-exception-handler.js' { declare module.exports: $Exports<'prettier-eslint-cli/dist/add-exception-handler'>; } +declare module 'prettier-eslint-cli/dist/argv.js' { + declare module.exports: $Exports<'prettier-eslint-cli/dist/argv'>; +} declare module 'prettier-eslint-cli/dist/format-files.js' { declare module.exports: $Exports<'prettier-eslint-cli/dist/format-files'>; } diff --git a/flow-typed/npm/prop-types_v15.x.x.js b/flow-typed/npm/prop-types_v15.x.x.js index 113b0b5c4f..ba9478bfe0 100644 --- a/flow-typed/npm/prop-types_v15.x.x.js +++ b/flow-typed/npm/prop-types_v15.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 3eaa1f24c7397b78a7481992d2cddcb2 -// flow-typed version: a1a20d4928/prop-types_v15.x.x/flow_>=v0.41.x +// flow-typed signature: d9a983bb1ac458a256c31c139047bdbb +// flow-typed version: 927687984d/prop-types_v15.x.x/flow_>=v0.41.x type $npm$propTypes$ReactPropsCheckType = ( props: any, @@ -14,6 +14,7 @@ declare module 'prop-types' { declare var number: React$PropType$Primitive; declare var object: React$PropType$Primitive; declare var string: React$PropType$Primitive; + declare var symbol: React$PropType$Primitive; declare var any: React$PropType$Primitive; declare var arrayOf: React$PropType$ArrayOf; declare var element: React$PropType$Primitive; /* TODO */ diff --git a/flow-typed/npm/raf_vx.x.x.js b/flow-typed/npm/raf_vx.x.x.js new file mode 100644 index 0000000000..aae0df75d7 --- /dev/null +++ b/flow-typed/npm/raf_vx.x.x.js @@ -0,0 +1,52 @@ +// flow-typed signature: efd265773c788540e0a3bc91c1151ac7 +// flow-typed version: <>/raf_v^3.4.0/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'raf' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'raf' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'raf/polyfill' { + declare module.exports: any; +} + +declare module 'raf/test' { + declare module.exports: any; +} + +declare module 'raf/window' { + declare module.exports: any; +} + +// Filename aliases +declare module 'raf/index' { + declare module.exports: $Exports<'raf'>; +} +declare module 'raf/index.js' { + declare module.exports: $Exports<'raf'>; +} +declare module 'raf/polyfill.js' { + declare module.exports: $Exports<'raf/polyfill'>; +} +declare module 'raf/test.js' { + declare module.exports: $Exports<'raf/test'>; +} +declare module 'raf/window.js' { + declare module.exports: $Exports<'raf/window'>; +} diff --git a/flow-typed/npm/react-addons-shallow-compare_vx.x.x.js b/flow-typed/npm/react-addons-shallow-compare_vx.x.x.js index aa9169c5bc..2660f02d65 100644 --- a/flow-typed/npm/react-addons-shallow-compare_vx.x.x.js +++ b/flow-typed/npm/react-addons-shallow-compare_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 33fa6042d47be1aa5bb8fadd2050e4d2 -// flow-typed version: <>/react-addons-shallow-compare_v^15.6.0/flow_v0.59.0 +// flow-typed signature: 9c0773369ef6b3dba428091f6adf6d14 +// flow-typed version: <>/react-addons-shallow-compare_v^15.6.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/react-content-loader_vx.x.x.js b/flow-typed/npm/react-content-loader_vx.x.x.js new file mode 100644 index 0000000000..2abcd385a3 --- /dev/null +++ b/flow-typed/npm/react-content-loader_vx.x.x.js @@ -0,0 +1,53 @@ +// flow-typed signature: c5bbb6c034ce934effaf1df83db17275 +// flow-typed version: <>/react-content-loader_v^3.1.2/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'react-content-loader' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'react-content-loader' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'react-content-loader/dist/react-content-loader.cjs' { + declare module.exports: any; +} + +declare module 'react-content-loader/dist/react-content-loader.es' { + declare module.exports: any; +} + +declare module 'react-content-loader/dist/react-content-loader' { + declare module.exports: any; +} + +declare module 'react-content-loader/dist/react-content-loader.min' { + declare module.exports: any; +} + +// Filename aliases +declare module 'react-content-loader/dist/react-content-loader.cjs.js' { + declare module.exports: $Exports<'react-content-loader/dist/react-content-loader.cjs'>; +} +declare module 'react-content-loader/dist/react-content-loader.es.js' { + declare module.exports: $Exports<'react-content-loader/dist/react-content-loader.es'>; +} +declare module 'react-content-loader/dist/react-content-loader.js' { + declare module.exports: $Exports<'react-content-loader/dist/react-content-loader'>; +} +declare module 'react-content-loader/dist/react-content-loader.min.js' { + declare module.exports: $Exports<'react-content-loader/dist/react-content-loader.min'>; +} diff --git a/flow-typed/npm/react-cropper_vx.x.x.js b/flow-typed/npm/react-cropper_vx.x.x.js new file mode 100644 index 0000000000..874506d020 --- /dev/null +++ b/flow-typed/npm/react-cropper_vx.x.x.js @@ -0,0 +1,53 @@ +// flow-typed signature: 1969f67dde1a4faef6654bf0c0b89fbc +// flow-typed version: <>/react-cropper_v^1.0.1/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'react-cropper' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'react-cropper' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'react-cropper/dist/react-cropper' { + declare module.exports: any; +} + +declare module 'react-cropper/server' { + declare module.exports: any; +} + +declare module 'react-cropper/webpack.config.dev' { + declare module.exports: any; +} + +declare module 'react-cropper/webpack.config' { + declare module.exports: any; +} + +// Filename aliases +declare module 'react-cropper/dist/react-cropper.js' { + declare module.exports: $Exports<'react-cropper/dist/react-cropper'>; +} +declare module 'react-cropper/server.js' { + declare module.exports: $Exports<'react-cropper/server'>; +} +declare module 'react-cropper/webpack.config.dev.js' { + declare module.exports: $Exports<'react-cropper/webpack.config.dev'>; +} +declare module 'react-cropper/webpack.config.js' { + declare module.exports: $Exports<'react-cropper/webpack.config'>; +} diff --git a/flow-typed/npm/react-document-title_vx.x.x.js b/flow-typed/npm/react-document-title_vx.x.x.js index adb2241b90..a67b3a7417 100644 --- a/flow-typed/npm/react-document-title_vx.x.x.js +++ b/flow-typed/npm/react-document-title_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: fad9977e19d8d6756257cb6ff02241e5 -// flow-typed version: <>/react-document-title_v^2.0.3/flow_v0.59.0 +// flow-typed signature: f7d06fbef0deb107a21351c1cefc05c3 +// flow-typed version: <>/react-document-title_v^2.0.3/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/react-dropzone_v4.x.x.js b/flow-typed/npm/react-dropzone_v4.x.x.js new file mode 100644 index 0000000000..7fbf5edaf3 --- /dev/null +++ b/flow-typed/npm/react-dropzone_v4.x.x.js @@ -0,0 +1,56 @@ +// flow-typed signature: b7af14fb84f1e89e79e941a6bcd03d15 +// flow-typed version: 80022b0008/react-dropzone_v4.x.x/flow_>=v0.53.x + +declare module "react-dropzone" { + declare type ChildrenProps = { + draggedFiles: Array, + acceptedFiles: Array, + rejectedFiles: Array, + isDragActive: boolean, + isDragAccept: boolean, + isDragReject: boolean, + } + + declare type DropzoneFile = File & { + preview?: string; + } + + declare type DropzoneProps = { + accept?: string, + children?: React$Node | (ChildrenProps) => React$Node, + disableClick?: boolean, + disabled?: boolean, + disablePreview?: boolean, + preventDropOnDocument?: boolean, + inputProps?: Object, + multiple?: boolean, + name?: string, + maxSize?: number, + minSize?: number, + className?: string, + activeClassName?: string, + acceptClassName?: string, + rejectClassName?: string, + disabledClassName?: string, + style?: Object, + activeStyle?: Object, + acceptStyle?: Object, + rejectStyle?: Object, + disabledStyle?: Object, + onClick?: (event: SyntheticMouseEvent<>) => mixed, + onDrop?: (acceptedFiles: Array, rejectedFiles: Array, event: SyntheticDragEvent<>) => mixed, + onDropAccepted?: (acceptedFiles: Array, event: SyntheticDragEvent<>) => mixed, + onDropRejected?: (rejectedFiles: Array, event: SyntheticDragEvent<>) => mixed, + onDragStart?: (event: SyntheticDragEvent<>) => mixed, + onDragEnter?: (event: SyntheticDragEvent<>) => mixed, + onDragOver?: (event: SyntheticDragEvent<>) => mixed, + onDragLeave?: (event: SyntheticDragEvent<>) => mixed, + onFileDialogCancel?: () => mixed, + }; + + declare class Dropzone extends React$Component { + open(): void; + } + + declare module.exports: typeof Dropzone; +} diff --git a/flow-typed/npm/react-ga_vx.x.x.js b/flow-typed/npm/react-ga_vx.x.x.js index 50519012f0..3fc505f5d1 100644 --- a/flow-typed/npm/react-ga_vx.x.x.js +++ b/flow-typed/npm/react-ga_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: a3c3933eba266f8bb3b82ffc05aace70 -// flow-typed version: <>/react-ga_v^2.2.0/flow_v0.59.0 +// flow-typed signature: c77a97e24d3d6a27f12b35299150b1f3 +// flow-typed version: <>/react-ga_v^2.2.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/react-hot-loader_vx.x.x.js b/flow-typed/npm/react-hot-loader_vx.x.x.js index 8587264b81..6906749dbc 100644 --- a/flow-typed/npm/react-hot-loader_vx.x.x.js +++ b/flow-typed/npm/react-hot-loader_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: dd93113a68f852448c4cbd92d8496eb8 -// flow-typed version: <>/react-hot-loader_vnext/flow_v0.59.0 +// flow-typed signature: f0e21304153cab354ff5b5ed84304c67 +// flow-typed version: <>/react-hot-loader_vnext/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/react-markdown_vx.x.x.js b/flow-typed/npm/react-markdown_vx.x.x.js index 58f9efcf56..9cc985cbbe 100644 --- a/flow-typed/npm/react-markdown_vx.x.x.js +++ b/flow-typed/npm/react-markdown_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 0291857d857637597b32398a89cbda86 -// flow-typed version: <>/react-markdown_v^2.5.0/flow_v0.59.0 +// flow-typed signature: f97b47d3b1928b0bfa450b410b1cdbe4 +// flow-typed version: <>/react-markdown_v^3.1.5/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -22,74 +22,67 @@ declare module 'react-markdown' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'react-markdown/demo/dist/js/codemirror' { +declare module 'react-markdown/lib/ast-to-react' { declare module.exports: any; } -declare module 'react-markdown/demo/dist/js/demo' { +declare module 'react-markdown/lib/get-definitions' { declare module.exports: any; } -declare module 'react-markdown/demo/src/code-block' { +declare module 'react-markdown/lib/plugins/disallow-node' { declare module.exports: any; } -declare module 'react-markdown/demo/src/demo' { +declare module 'react-markdown/lib/plugins/naive-html' { declare module.exports: any; } -declare module 'react-markdown/demo/src/editor' { +declare module 'react-markdown/lib/react-markdown' { declare module.exports: any; } -declare module 'react-markdown/demo/src/markdown-controls' { +declare module 'react-markdown/lib/renderers' { declare module.exports: any; } -declare module 'react-markdown/src/react-markdown' { +declare module 'react-markdown/lib/uriTransformer' { declare module.exports: any; } -declare module 'react-markdown/umd/react-markdown' { - declare module.exports: any; -} - -declare module 'react-markdown/webpack.config.demo' { +declare module 'react-markdown/lib/wrap-table-rows' { declare module.exports: any; } -declare module 'react-markdown/webpack.config' { +declare module 'react-markdown/umd/react-markdown' { declare module.exports: any; } // Filename aliases -declare module 'react-markdown/demo/dist/js/codemirror.js' { - declare module.exports: $Exports<'react-markdown/demo/dist/js/codemirror'>; +declare module 'react-markdown/lib/ast-to-react.js' { + declare module.exports: $Exports<'react-markdown/lib/ast-to-react'>; +} +declare module 'react-markdown/lib/get-definitions.js' { + declare module.exports: $Exports<'react-markdown/lib/get-definitions'>; } -declare module 'react-markdown/demo/dist/js/demo.js' { - declare module.exports: $Exports<'react-markdown/demo/dist/js/demo'>; +declare module 'react-markdown/lib/plugins/disallow-node.js' { + declare module.exports: $Exports<'react-markdown/lib/plugins/disallow-node'>; } -declare module 'react-markdown/demo/src/code-block.js' { - declare module.exports: $Exports<'react-markdown/demo/src/code-block'>; +declare module 'react-markdown/lib/plugins/naive-html.js' { + declare module.exports: $Exports<'react-markdown/lib/plugins/naive-html'>; } -declare module 'react-markdown/demo/src/demo.js' { - declare module.exports: $Exports<'react-markdown/demo/src/demo'>; +declare module 'react-markdown/lib/react-markdown.js' { + declare module.exports: $Exports<'react-markdown/lib/react-markdown'>; } -declare module 'react-markdown/demo/src/editor.js' { - declare module.exports: $Exports<'react-markdown/demo/src/editor'>; +declare module 'react-markdown/lib/renderers.js' { + declare module.exports: $Exports<'react-markdown/lib/renderers'>; } -declare module 'react-markdown/demo/src/markdown-controls.js' { - declare module.exports: $Exports<'react-markdown/demo/src/markdown-controls'>; +declare module 'react-markdown/lib/uriTransformer.js' { + declare module.exports: $Exports<'react-markdown/lib/uriTransformer'>; } -declare module 'react-markdown/src/react-markdown.js' { - declare module.exports: $Exports<'react-markdown/src/react-markdown'>; +declare module 'react-markdown/lib/wrap-table-rows.js' { + declare module.exports: $Exports<'react-markdown/lib/wrap-table-rows'>; } declare module 'react-markdown/umd/react-markdown.js' { declare module.exports: $Exports<'react-markdown/umd/react-markdown'>; } -declare module 'react-markdown/webpack.config.demo.js' { - declare module.exports: $Exports<'react-markdown/webpack.config.demo'>; -} -declare module 'react-markdown/webpack.config.js' { - declare module.exports: $Exports<'react-markdown/webpack.config'>; -} diff --git a/flow-typed/npm/react-onclickoutside_v6.x.x.js b/flow-typed/npm/react-onclickoutside_v6.x.x.js new file mode 100644 index 0000000000..9195e37b1c --- /dev/null +++ b/flow-typed/npm/react-onclickoutside_v6.x.x.js @@ -0,0 +1,21 @@ +// flow-typed signature: 6eb42473f8963358a108bc3234413fa1 +// flow-typed version: 83f69ebb56/react-onclickoutside_v6.x.x/flow_>=v0.54.1 + +declare module 'react-onclickoutside' { + declare export type OnClickOutsideProps = { + eventTypes?: Array, + outsideClickIgnoreClass?: string, + preventDefault?: boolean, + stopPropagation?: boolean + }; + + declare export var IGNORE_CLASS_NAME: string; + + declare export default ( + BaseComponent: Class>, + config?: { excludeScrollbar?: boolean } + ) => React$ComponentType

; +} diff --git a/flow-typed/npm/react-redux_v5.x.x.js b/flow-typed/npm/react-redux_v5.x.x.js new file mode 100644 index 0000000000..3108a31e82 --- /dev/null +++ b/flow-typed/npm/react-redux_v5.x.x.js @@ -0,0 +1,205 @@ +// flow-typed signature: 0fe76887d4f9795dc7679f4f8b63dbe3 +// flow-typed version: c5d8a135ce/react-redux_v5.x.x/flow_>=v0.63.0 + +import type { Dispatch, Store } from "redux"; + +declare module "react-redux" { + import type { ComponentType, ElementConfig } from 'react'; + + declare export class Provider extends React$Component<{ + store: Store, + children?: any + }> {} + + declare export function createProvider( + storeKey?: string, + subKey?: string + ): Provider<*, *>; + + /* + + S = State + A = Action + OP = OwnProps + SP = StateProps + DP = DispatchProps + MP = Merge props + MDP = Map dispatch to props object + RSP = Returned state props + RDP = Returned dispatch props + RMP = Returned merge props + CP = Props for returned component + Com = React Component + ST = Static properties of Com + */ + + declare type MapStateToProps = (state: S, props: SP) => RSP; + + declare type MapDispatchToProps = (dispatch: Dispatch, ownProps: OP) => RDP; + + declare type MergeProps = ( + stateProps: SP, + dispatchProps: DP, + ownProps: MP + ) => RMP; + + declare type ConnectOptions = {| + pure?: boolean, + withRef?: boolean, + areStatesEqual?: (next: S, prev: S) => boolean, + areOwnPropsEqual?: (next: OP, prev: OP) => boolean, + areStatePropsEqual?: (next: RSP, prev: RSP) => boolean, + areMergedPropsEqual?: (next: RMP, prev: RMP) => boolean, + storeKey?: string + |}; + + declare type OmitDispatch = $Diff}>; + + declare export function connect< + Com: ComponentType<*>, + S: Object, + SP: Object, + RSP: Object, + CP: $Diff>, RSP>, + ST: {[_: $Keys]: any} + >( + mapStateToProps: MapStateToProps, + mapDispatchToProps?: null + ): (component: Com) => ComponentType & $Shape; + + declare export function connect< + Com: ComponentType<*>, + ST: {[_: $Keys]: any} + >( + mapStateToProps?: null, + mapDispatchToProps?: null + ): (component: Com) => ComponentType>> & $Shape; + + declare export function connect< + Com: ComponentType<*>, + A, + S: Object, + DP: Object, + SP: Object, + RSP: Object, + RDP: Object, + CP: $Diff<$Diff, RSP>, RDP>, + ST: $Subtype<{[_: $Keys]: any}> + >( + mapStateToProps: MapStateToProps, + mapDispatchToProps: MapDispatchToProps + ): (component: Com) => ComponentType & $Shape; + + declare export function connect< + Com: ComponentType<*>, + A, + OP: Object, + DP: Object, + PR: Object, + CP: $Diff, DP>, + ST: $Subtype<{[_: $Keys]: any}> + >( + mapStateToProps?: null, + mapDispatchToProps: MapDispatchToProps + ): (Com) => ComponentType; + + declare export function connect< + Com: ComponentType<*>, + MDP: Object, + ST: $Subtype<{[_: $Keys]: any}> + >( + mapStateToProps?: null, + mapDispatchToProps: MDP + ): (component: Com) => ComponentType<$Diff, MDP>> & $Shape; + + declare export function connect< + Com: ComponentType<*>, + S: Object, + SP: Object, + RSP: Object, + MDP: Object, + CP: $Diff, RSP>, + ST: $Subtype<{[_: $Keys]: any}> + >( + mapStateToProps: MapStateToProps, + mapDispatchToPRops: MDP + ): (component: Com) => ComponentType<$Diff & SP> & $Shape; + + declare export function connect< + Com: ComponentType<*>, + A, + S: Object, + DP: Object, + SP: Object, + RSP: Object, + RDP: Object, + MP: Object, + RMP: Object, + CP: $Diff, RMP>, + ST: $Subtype<{[_: $Keys]: any}> + >( + mapStateToProps: MapStateToProps, + mapDispatchToProps: ?MapDispatchToProps, + mergeProps: MergeProps + ): (component: Com) => ComponentType & $Shape; + + declare export function connect< + Com: ComponentType<*>, + A, + S: Object, + DP: Object, + SP: Object, + RSP: Object, + RDP: Object, + MDP: Object, + MP: Object, + RMP: Object, + CP: $Diff, RMP>, + ST: $Subtype<{[_: $Keys]: any}> + >( + mapStateToProps: MapStateToProps, + mapDispatchToProps: MDP, + mergeProps: MergeProps + ): (component: Com) => ComponentType & $Shape; + + declare export function connect, + A, + S: Object, + DP: Object, + SP: Object, + RSP: Object, + RDP: Object, + MP: Object, + RMP: Object, + ST: $Subtype<{[_: $Keys]: any}> + >( + mapStateToProps: ?MapStateToProps, + mapDispatchToProps: ?MapDispatchToProps, + mergeProps: ?MergeProps, + options: ConnectOptions + ): (component: Com) => ComponentType<$Diff, RMP> & SP & DP & MP> & $Shape; + + declare export function connect, + A, + S: Object, + DP: Object, + SP: Object, + RSP: Object, + RDP: Object, + MDP: Object, + MP: Object, + RMP: Object, + ST: $Subtype<{[_: $Keys]: any}> + >( + mapStateToProps: ?MapStateToProps, + mapDispatchToProps: ?MapDispatchToProps, + mergeProps: MDP, + options: ConnectOptions + ): (component: Com) => ComponentType<$Diff, RMP> & SP & DP & MP> & $Shape; + + declare export default { + Provider: typeof Provider, + createProvider: typeof createProvider, + connect: typeof connect, + }; +} diff --git a/flow-typed/npm/react-router-dom_v4.x.x.js b/flow-typed/npm/react-router-dom_v4.x.x.js index 829013e81e..f7dfdf81da 100644 --- a/flow-typed/npm/react-router-dom_v4.x.x.js +++ b/flow-typed/npm/react-router-dom_v4.x.x.js @@ -1,23 +1,24 @@ -// flow-typed signature: 4d8e947f2e396ef2f26ecbd1ed7f04ab -// flow-typed version: 97d98ab83e/react-router-dom_v4.x.x/flow_>=v0.53.x +// flow-typed signature: 1b2e974f9f683ce53055f7c3d60c59c5 +// flow-typed version: e94381d642/react-router-dom_v4.x.x/flow_>=v0.63.x declare module "react-router-dom" { - declare export class BrowserRouter extends React$Component<{ + declare export class BrowserRouter extends React$Component<{| basename?: string, forceRefresh?: boolean, getUserConfirmation?: GetUserConfirmation, keyLength?: number, children?: React$Node - }> {} + |}> {} - declare export class HashRouter extends React$Component<{ + declare export class HashRouter extends React$Component<{| basename?: string, getUserConfirmation?: GetUserConfirmation, hashType?: "slash" | "noslash" | "hashbang", children?: React$Node - }> {} + |}> {} declare export class Link extends React$Component<{ + className?: string, to: string | LocationShape, replace?: boolean, children?: React$Node @@ -85,64 +86,80 @@ declare module "react-router-dom" { declare export type ContextRouter = {| history: RouterHistory, location: Location, - match: Match + match: Match, + staticContext?: StaticRouterContext |}; + declare type ContextRouterVoid = { + history: RouterHistory | void, + location: Location | void, + match: Match | void, + staticContext?: StaticRouterContext | void + }; + declare export type GetUserConfirmation = ( message: string, callback: (confirmed: boolean) => void ) => void; - declare type StaticRouterContext = { + declare export type StaticRouterContext = { url?: string }; - declare export class StaticRouter extends React$Component<{ + declare export class StaticRouter extends React$Component<{| basename?: string, location?: string | Location, context: StaticRouterContext, children?: React$Node - }> {} + |}> {} - declare export class MemoryRouter extends React$Component<{ + declare export class MemoryRouter extends React$Component<{| initialEntries?: Array, initialIndex?: number, getUserConfirmation?: GetUserConfirmation, keyLength?: number, children?: React$Node - }> {} + |}> {} - declare export class Router extends React$Component<{ + declare export class Router extends React$Component<{| history: RouterHistory, children?: React$Node - }> {} + |}> {} - declare export class Prompt extends React$Component<{ - message: string | ((location: Location) => string | true), + declare export class Prompt extends React$Component<{| + message: string | ((location: Location) => string | boolean), when?: boolean - }> {} + |}> {} - declare export class Redirect extends React$Component<{ + declare export class Redirect extends React$Component<{| to: string | LocationShape, - push?: boolean - }> {} + push?: boolean, + from?: string, + exact?: boolean, + strict?: boolean + |}> {} - declare export class Route extends React$Component<{ + declare export class Route extends React$Component<{| component?: React$ComponentType<*>, render?: (router: ContextRouter) => React$Node, children?: React$ComponentType | React$Node, path?: string, exact?: boolean, - strict?: boolean - }> {} + strict?: boolean, + location?: LocationShape, + sensitive?: boolean + |}> {} - declare export class Switch extends React$Component<{ - children?: React$Node - }> {} - - declare export function withRouter

( - Component: React$ComponentType<{| ...ContextRouter, ...P |}> - ): React$ComponentType

; + declare export class Switch extends React$Component<{| + children?: React$Node, + location?: Location + |}> {} + + declare export function withRouter>( + WrappedComponent: Component + ): React$ComponentType< + $Diff, ContextRouterVoid> + >; declare type MatchPathOptions = { path?: string, diff --git a/flow-typed/npm/react-router_v4.x.x.js b/flow-typed/npm/react-router_v4.x.x.js index 68505200d8..29a9bbe185 100644 --- a/flow-typed/npm/react-router_v4.x.x.js +++ b/flow-typed/npm/react-router_v4.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 1e6728f0a649edac3689d6e2db7487a7 -// flow-typed version: 01716df816/react-router_v4.x.x/flow_>=v0.53.x +// flow-typed signature: e15aeed0d3686f71822b54cde7b71c83 +// flow-typed version: fbf3e77efa/react-router_v4.x.x/flow_>=v0.63.x declare module "react-router" { // NOTE: many of these are re-exported by react-router-dom and @@ -53,7 +53,8 @@ declare module "react-router" { declare export type ContextRouter = {| history: RouterHistory, location: Location, - match: Match + match: Match, + staticContext?: StaticRouterContext |}; declare export type GetUserConfirmation = ( @@ -90,23 +91,30 @@ declare module "react-router" { when?: boolean }> {} - declare export class Redirect extends React$Component<{ + declare export class Redirect extends React$Component<{| to: string | LocationShape, - push?: boolean - }> {} + push?: boolean, + from?: string, + exact?: boolean, + strict?: boolean + |}> {} - declare export class Route extends React$Component<{ + + declare export class Route extends React$Component<{| component?: React$ComponentType<*>, render?: (router: ContextRouter) => React$Node, children?: React$ComponentType | React$Node, path?: string, exact?: boolean, - strict?: boolean - }> {} + strict?: boolean, + location?: LocationShape, + sensitive?: boolean + |}> {} - declare export class Switch extends React$Component<{ - children?: React$Node - }> {} + declare export class Switch extends React$Component<{| + children?: React$Node, + location?: Location + |}> {} declare export function withRouter

( Component: React$ComponentType<{| ...ContextRouter, ...P |}> @@ -118,6 +126,7 @@ declare module "react-router" { strict?: boolean, sensitive?: boolean }; + declare export function matchPath( pathname: string, options?: MatchPathOptions | string diff --git a/flow-typed/npm/react-share_vx.x.x.js b/flow-typed/npm/react-share_vx.x.x.js new file mode 100644 index 0000000000..66194f5864 --- /dev/null +++ b/flow-typed/npm/react-share_vx.x.x.js @@ -0,0 +1,641 @@ +// flow-typed signature: 6a1eef8ac0edbd42740a4f67119040b5 +// flow-typed version: <>/react-share_v^2.2.0/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'react-share' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'react-share' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'react-share/es/EmailIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/EmailShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/FacebookIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/FacebookShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/FacebookShareCount' { + declare module.exports: any; +} + +declare module 'react-share/es/GooglePlusIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/GooglePlusShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/GooglePlusShareCount' { + declare module.exports: any; +} + +declare module 'react-share/es/index' { + declare module.exports: any; +} + +declare module 'react-share/es/LinkedinIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/LinkedinShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/LinkedinShareCount' { + declare module.exports: any; +} + +declare module 'react-share/es/LivejournalIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/LivejournalShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/MailruIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/MailruShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/OKIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/OKShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/OKShareCount' { + declare module.exports: any; +} + +declare module 'react-share/es/PinterestIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/PinterestShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/PinterestShareCount' { + declare module.exports: any; +} + +declare module 'react-share/es/RedditIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/RedditShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/RedditShareCount' { + declare module.exports: any; +} + +declare module 'react-share/es/TelegramIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/TelegramShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/TumblrIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/TumblrShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/TumblrShareCount' { + declare module.exports: any; +} + +declare module 'react-share/es/TwitterIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/TwitterShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/utils/createShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/utils/iconFactory' { + declare module.exports: any; +} + +declare module 'react-share/es/utils/ieDetection' { + declare module.exports: any; +} + +declare module 'react-share/es/utils/objectToGetParams' { + declare module.exports: any; +} + +declare module 'react-share/es/utils/shareCountFactory' { + declare module.exports: any; +} + +declare module 'react-share/es/ViberIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/ViberShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/VKIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/VKShareButton' { + declare module.exports: any; +} + +declare module 'react-share/es/VKShareCount' { + declare module.exports: any; +} + +declare module 'react-share/es/WhatsappIcon' { + declare module.exports: any; +} + +declare module 'react-share/es/WhatsappShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/EmailIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/EmailShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/FacebookIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/FacebookShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/FacebookShareCount' { + declare module.exports: any; +} + +declare module 'react-share/lib/GooglePlusIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/GooglePlusShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/GooglePlusShareCount' { + declare module.exports: any; +} + +declare module 'react-share/lib/index' { + declare module.exports: any; +} + +declare module 'react-share/lib/LinkedinIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/LinkedinShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/LinkedinShareCount' { + declare module.exports: any; +} + +declare module 'react-share/lib/LivejournalIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/LivejournalShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/MailruIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/MailruShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/OKIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/OKShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/OKShareCount' { + declare module.exports: any; +} + +declare module 'react-share/lib/PinterestIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/PinterestShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/PinterestShareCount' { + declare module.exports: any; +} + +declare module 'react-share/lib/RedditIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/RedditShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/RedditShareCount' { + declare module.exports: any; +} + +declare module 'react-share/lib/TelegramIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/TelegramShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/TumblrIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/TumblrShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/TumblrShareCount' { + declare module.exports: any; +} + +declare module 'react-share/lib/TwitterIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/TwitterShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/utils/createShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/utils/iconFactory' { + declare module.exports: any; +} + +declare module 'react-share/lib/utils/ieDetection' { + declare module.exports: any; +} + +declare module 'react-share/lib/utils/objectToGetParams' { + declare module.exports: any; +} + +declare module 'react-share/lib/utils/shareCountFactory' { + declare module.exports: any; +} + +declare module 'react-share/lib/ViberIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/ViberShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/VKIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/VKShareButton' { + declare module.exports: any; +} + +declare module 'react-share/lib/VKShareCount' { + declare module.exports: any; +} + +declare module 'react-share/lib/WhatsappIcon' { + declare module.exports: any; +} + +declare module 'react-share/lib/WhatsappShareButton' { + declare module.exports: any; +} + +// Filename aliases +declare module 'react-share/es/EmailIcon.js' { + declare module.exports: $Exports<'react-share/es/EmailIcon'>; +} +declare module 'react-share/es/EmailShareButton.js' { + declare module.exports: $Exports<'react-share/es/EmailShareButton'>; +} +declare module 'react-share/es/FacebookIcon.js' { + declare module.exports: $Exports<'react-share/es/FacebookIcon'>; +} +declare module 'react-share/es/FacebookShareButton.js' { + declare module.exports: $Exports<'react-share/es/FacebookShareButton'>; +} +declare module 'react-share/es/FacebookShareCount.js' { + declare module.exports: $Exports<'react-share/es/FacebookShareCount'>; +} +declare module 'react-share/es/GooglePlusIcon.js' { + declare module.exports: $Exports<'react-share/es/GooglePlusIcon'>; +} +declare module 'react-share/es/GooglePlusShareButton.js' { + declare module.exports: $Exports<'react-share/es/GooglePlusShareButton'>; +} +declare module 'react-share/es/GooglePlusShareCount.js' { + declare module.exports: $Exports<'react-share/es/GooglePlusShareCount'>; +} +declare module 'react-share/es/index.js' { + declare module.exports: $Exports<'react-share/es/index'>; +} +declare module 'react-share/es/LinkedinIcon.js' { + declare module.exports: $Exports<'react-share/es/LinkedinIcon'>; +} +declare module 'react-share/es/LinkedinShareButton.js' { + declare module.exports: $Exports<'react-share/es/LinkedinShareButton'>; +} +declare module 'react-share/es/LinkedinShareCount.js' { + declare module.exports: $Exports<'react-share/es/LinkedinShareCount'>; +} +declare module 'react-share/es/LivejournalIcon.js' { + declare module.exports: $Exports<'react-share/es/LivejournalIcon'>; +} +declare module 'react-share/es/LivejournalShareButton.js' { + declare module.exports: $Exports<'react-share/es/LivejournalShareButton'>; +} +declare module 'react-share/es/MailruIcon.js' { + declare module.exports: $Exports<'react-share/es/MailruIcon'>; +} +declare module 'react-share/es/MailruShareButton.js' { + declare module.exports: $Exports<'react-share/es/MailruShareButton'>; +} +declare module 'react-share/es/OKIcon.js' { + declare module.exports: $Exports<'react-share/es/OKIcon'>; +} +declare module 'react-share/es/OKShareButton.js' { + declare module.exports: $Exports<'react-share/es/OKShareButton'>; +} +declare module 'react-share/es/OKShareCount.js' { + declare module.exports: $Exports<'react-share/es/OKShareCount'>; +} +declare module 'react-share/es/PinterestIcon.js' { + declare module.exports: $Exports<'react-share/es/PinterestIcon'>; +} +declare module 'react-share/es/PinterestShareButton.js' { + declare module.exports: $Exports<'react-share/es/PinterestShareButton'>; +} +declare module 'react-share/es/PinterestShareCount.js' { + declare module.exports: $Exports<'react-share/es/PinterestShareCount'>; +} +declare module 'react-share/es/RedditIcon.js' { + declare module.exports: $Exports<'react-share/es/RedditIcon'>; +} +declare module 'react-share/es/RedditShareButton.js' { + declare module.exports: $Exports<'react-share/es/RedditShareButton'>; +} +declare module 'react-share/es/RedditShareCount.js' { + declare module.exports: $Exports<'react-share/es/RedditShareCount'>; +} +declare module 'react-share/es/TelegramIcon.js' { + declare module.exports: $Exports<'react-share/es/TelegramIcon'>; +} +declare module 'react-share/es/TelegramShareButton.js' { + declare module.exports: $Exports<'react-share/es/TelegramShareButton'>; +} +declare module 'react-share/es/TumblrIcon.js' { + declare module.exports: $Exports<'react-share/es/TumblrIcon'>; +} +declare module 'react-share/es/TumblrShareButton.js' { + declare module.exports: $Exports<'react-share/es/TumblrShareButton'>; +} +declare module 'react-share/es/TumblrShareCount.js' { + declare module.exports: $Exports<'react-share/es/TumblrShareCount'>; +} +declare module 'react-share/es/TwitterIcon.js' { + declare module.exports: $Exports<'react-share/es/TwitterIcon'>; +} +declare module 'react-share/es/TwitterShareButton.js' { + declare module.exports: $Exports<'react-share/es/TwitterShareButton'>; +} +declare module 'react-share/es/utils/createShareButton.js' { + declare module.exports: $Exports<'react-share/es/utils/createShareButton'>; +} +declare module 'react-share/es/utils/iconFactory.js' { + declare module.exports: $Exports<'react-share/es/utils/iconFactory'>; +} +declare module 'react-share/es/utils/ieDetection.js' { + declare module.exports: $Exports<'react-share/es/utils/ieDetection'>; +} +declare module 'react-share/es/utils/objectToGetParams.js' { + declare module.exports: $Exports<'react-share/es/utils/objectToGetParams'>; +} +declare module 'react-share/es/utils/shareCountFactory.js' { + declare module.exports: $Exports<'react-share/es/utils/shareCountFactory'>; +} +declare module 'react-share/es/ViberIcon.js' { + declare module.exports: $Exports<'react-share/es/ViberIcon'>; +} +declare module 'react-share/es/ViberShareButton.js' { + declare module.exports: $Exports<'react-share/es/ViberShareButton'>; +} +declare module 'react-share/es/VKIcon.js' { + declare module.exports: $Exports<'react-share/es/VKIcon'>; +} +declare module 'react-share/es/VKShareButton.js' { + declare module.exports: $Exports<'react-share/es/VKShareButton'>; +} +declare module 'react-share/es/VKShareCount.js' { + declare module.exports: $Exports<'react-share/es/VKShareCount'>; +} +declare module 'react-share/es/WhatsappIcon.js' { + declare module.exports: $Exports<'react-share/es/WhatsappIcon'>; +} +declare module 'react-share/es/WhatsappShareButton.js' { + declare module.exports: $Exports<'react-share/es/WhatsappShareButton'>; +} +declare module 'react-share/lib/EmailIcon.js' { + declare module.exports: $Exports<'react-share/lib/EmailIcon'>; +} +declare module 'react-share/lib/EmailShareButton.js' { + declare module.exports: $Exports<'react-share/lib/EmailShareButton'>; +} +declare module 'react-share/lib/FacebookIcon.js' { + declare module.exports: $Exports<'react-share/lib/FacebookIcon'>; +} +declare module 'react-share/lib/FacebookShareButton.js' { + declare module.exports: $Exports<'react-share/lib/FacebookShareButton'>; +} +declare module 'react-share/lib/FacebookShareCount.js' { + declare module.exports: $Exports<'react-share/lib/FacebookShareCount'>; +} +declare module 'react-share/lib/GooglePlusIcon.js' { + declare module.exports: $Exports<'react-share/lib/GooglePlusIcon'>; +} +declare module 'react-share/lib/GooglePlusShareButton.js' { + declare module.exports: $Exports<'react-share/lib/GooglePlusShareButton'>; +} +declare module 'react-share/lib/GooglePlusShareCount.js' { + declare module.exports: $Exports<'react-share/lib/GooglePlusShareCount'>; +} +declare module 'react-share/lib/index.js' { + declare module.exports: $Exports<'react-share/lib/index'>; +} +declare module 'react-share/lib/LinkedinIcon.js' { + declare module.exports: $Exports<'react-share/lib/LinkedinIcon'>; +} +declare module 'react-share/lib/LinkedinShareButton.js' { + declare module.exports: $Exports<'react-share/lib/LinkedinShareButton'>; +} +declare module 'react-share/lib/LinkedinShareCount.js' { + declare module.exports: $Exports<'react-share/lib/LinkedinShareCount'>; +} +declare module 'react-share/lib/LivejournalIcon.js' { + declare module.exports: $Exports<'react-share/lib/LivejournalIcon'>; +} +declare module 'react-share/lib/LivejournalShareButton.js' { + declare module.exports: $Exports<'react-share/lib/LivejournalShareButton'>; +} +declare module 'react-share/lib/MailruIcon.js' { + declare module.exports: $Exports<'react-share/lib/MailruIcon'>; +} +declare module 'react-share/lib/MailruShareButton.js' { + declare module.exports: $Exports<'react-share/lib/MailruShareButton'>; +} +declare module 'react-share/lib/OKIcon.js' { + declare module.exports: $Exports<'react-share/lib/OKIcon'>; +} +declare module 'react-share/lib/OKShareButton.js' { + declare module.exports: $Exports<'react-share/lib/OKShareButton'>; +} +declare module 'react-share/lib/OKShareCount.js' { + declare module.exports: $Exports<'react-share/lib/OKShareCount'>; +} +declare module 'react-share/lib/PinterestIcon.js' { + declare module.exports: $Exports<'react-share/lib/PinterestIcon'>; +} +declare module 'react-share/lib/PinterestShareButton.js' { + declare module.exports: $Exports<'react-share/lib/PinterestShareButton'>; +} +declare module 'react-share/lib/PinterestShareCount.js' { + declare module.exports: $Exports<'react-share/lib/PinterestShareCount'>; +} +declare module 'react-share/lib/RedditIcon.js' { + declare module.exports: $Exports<'react-share/lib/RedditIcon'>; +} +declare module 'react-share/lib/RedditShareButton.js' { + declare module.exports: $Exports<'react-share/lib/RedditShareButton'>; +} +declare module 'react-share/lib/RedditShareCount.js' { + declare module.exports: $Exports<'react-share/lib/RedditShareCount'>; +} +declare module 'react-share/lib/TelegramIcon.js' { + declare module.exports: $Exports<'react-share/lib/TelegramIcon'>; +} +declare module 'react-share/lib/TelegramShareButton.js' { + declare module.exports: $Exports<'react-share/lib/TelegramShareButton'>; +} +declare module 'react-share/lib/TumblrIcon.js' { + declare module.exports: $Exports<'react-share/lib/TumblrIcon'>; +} +declare module 'react-share/lib/TumblrShareButton.js' { + declare module.exports: $Exports<'react-share/lib/TumblrShareButton'>; +} +declare module 'react-share/lib/TumblrShareCount.js' { + declare module.exports: $Exports<'react-share/lib/TumblrShareCount'>; +} +declare module 'react-share/lib/TwitterIcon.js' { + declare module.exports: $Exports<'react-share/lib/TwitterIcon'>; +} +declare module 'react-share/lib/TwitterShareButton.js' { + declare module.exports: $Exports<'react-share/lib/TwitterShareButton'>; +} +declare module 'react-share/lib/utils/createShareButton.js' { + declare module.exports: $Exports<'react-share/lib/utils/createShareButton'>; +} +declare module 'react-share/lib/utils/iconFactory.js' { + declare module.exports: $Exports<'react-share/lib/utils/iconFactory'>; +} +declare module 'react-share/lib/utils/ieDetection.js' { + declare module.exports: $Exports<'react-share/lib/utils/ieDetection'>; +} +declare module 'react-share/lib/utils/objectToGetParams.js' { + declare module.exports: $Exports<'react-share/lib/utils/objectToGetParams'>; +} +declare module 'react-share/lib/utils/shareCountFactory.js' { + declare module.exports: $Exports<'react-share/lib/utils/shareCountFactory'>; +} +declare module 'react-share/lib/ViberIcon.js' { + declare module.exports: $Exports<'react-share/lib/ViberIcon'>; +} +declare module 'react-share/lib/ViberShareButton.js' { + declare module.exports: $Exports<'react-share/lib/ViberShareButton'>; +} +declare module 'react-share/lib/VKIcon.js' { + declare module.exports: $Exports<'react-share/lib/VKIcon'>; +} +declare module 'react-share/lib/VKShareButton.js' { + declare module.exports: $Exports<'react-share/lib/VKShareButton'>; +} +declare module 'react-share/lib/VKShareCount.js' { + declare module.exports: $Exports<'react-share/lib/VKShareCount'>; +} +declare module 'react-share/lib/WhatsappIcon.js' { + declare module.exports: $Exports<'react-share/lib/WhatsappIcon'>; +} +declare module 'react-share/lib/WhatsappShareButton.js' { + declare module.exports: $Exports<'react-share/lib/WhatsappShareButton'>; +} diff --git a/flow-typed/npm/react-test-renderer_vx.x.x.js b/flow-typed/npm/react-test-renderer_vx.x.x.js index 4b235d4b93..ebbe83e6bf 100644 --- a/flow-typed/npm/react-test-renderer_vx.x.x.js +++ b/flow-typed/npm/react-test-renderer_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 9a3ac2e404dab61011d6b01055108561 -// flow-typed version: <>/react-test-renderer_v^15.6.1/flow_v0.59.0 +// flow-typed signature: 6e56577e45797c8f8061c0c20d2262a2 +// flow-typed version: <>/react-test-renderer_v^15.6.1/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/react-tooltip_vx.x.x.js b/flow-typed/npm/react-tooltip_vx.x.x.js new file mode 100644 index 0000000000..0455eb88c9 --- /dev/null +++ b/flow-typed/npm/react-tooltip_vx.x.x.js @@ -0,0 +1,130 @@ +// flow-typed signature: 5d3ccd8de17d67746861c2fcfad8a0ea +// flow-typed version: <>/react-tooltip_v^3.6.0/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'react-tooltip' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'react-tooltip' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'react-tooltip/dist/constant' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/decorators/customEvent' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/decorators/getEffect' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/decorators/isCapture' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/decorators/staticMethods' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/decorators/trackRemoval' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/decorators/windowListener' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/index' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/style' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/utils/aria' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/utils/getPosition' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/utils/getTipContent' { + declare module.exports: any; +} + +declare module 'react-tooltip/dist/utils/nodeListToArray' { + declare module.exports: any; +} + +declare module 'react-tooltip/standalone/react-tooltip' { + declare module.exports: any; +} + +declare module 'react-tooltip/standalone/react-tooltip.min' { + declare module.exports: any; +} + +// Filename aliases +declare module 'react-tooltip/dist/constant.js' { + declare module.exports: $Exports<'react-tooltip/dist/constant'>; +} +declare module 'react-tooltip/dist/decorators/customEvent.js' { + declare module.exports: $Exports<'react-tooltip/dist/decorators/customEvent'>; +} +declare module 'react-tooltip/dist/decorators/getEffect.js' { + declare module.exports: $Exports<'react-tooltip/dist/decorators/getEffect'>; +} +declare module 'react-tooltip/dist/decorators/isCapture.js' { + declare module.exports: $Exports<'react-tooltip/dist/decorators/isCapture'>; +} +declare module 'react-tooltip/dist/decorators/staticMethods.js' { + declare module.exports: $Exports<'react-tooltip/dist/decorators/staticMethods'>; +} +declare module 'react-tooltip/dist/decorators/trackRemoval.js' { + declare module.exports: $Exports<'react-tooltip/dist/decorators/trackRemoval'>; +} +declare module 'react-tooltip/dist/decorators/windowListener.js' { + declare module.exports: $Exports<'react-tooltip/dist/decorators/windowListener'>; +} +declare module 'react-tooltip/dist/index.js' { + declare module.exports: $Exports<'react-tooltip/dist/index'>; +} +declare module 'react-tooltip/dist/style.js' { + declare module.exports: $Exports<'react-tooltip/dist/style'>; +} +declare module 'react-tooltip/dist/utils/aria.js' { + declare module.exports: $Exports<'react-tooltip/dist/utils/aria'>; +} +declare module 'react-tooltip/dist/utils/getPosition.js' { + declare module.exports: $Exports<'react-tooltip/dist/utils/getPosition'>; +} +declare module 'react-tooltip/dist/utils/getTipContent.js' { + declare module.exports: $Exports<'react-tooltip/dist/utils/getTipContent'>; +} +declare module 'react-tooltip/dist/utils/nodeListToArray.js' { + declare module.exports: $Exports<'react-tooltip/dist/utils/nodeListToArray'>; +} +declare module 'react-tooltip/standalone/react-tooltip.js' { + declare module.exports: $Exports<'react-tooltip/standalone/react-tooltip'>; +} +declare module 'react-tooltip/standalone/react-tooltip.min.js' { + declare module.exports: $Exports<'react-tooltip/standalone/react-tooltip.min'>; +} diff --git a/flow-typed/npm/redux-actions_v2.x.x.js b/flow-typed/npm/redux-actions_v2.x.x.js index 96b950033c..9deb9d02ac 100644 --- a/flow-typed/npm/redux-actions_v2.x.x.js +++ b/flow-typed/npm/redux-actions_v2.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 7e15adce10779b8fb956eeb8c0c83512 -// flow-typed version: 56da885f85/redux-actions_v2.x.x/flow_>=v0.39.x +// flow-typed signature: e2c7590c6650a080179505dfc8b95673 +// flow-typed version: 1febbeccad/redux-actions_v2.x.x/flow_>=v0.39.x declare module "redux-actions" { /* @@ -29,28 +29,28 @@ declare module "redux-actions" { declare function createAction( type: T, $?: empty // hack to force Flow to not use this signature when more than one argument is given - ): (payload: P, ...rest: any[]) => { type: T, payload: P, error?: boolean }; + ): {(payload: P, ...rest: any[]): { type: T, payload: P, error?: boolean }, +toString: () => T}; declare function createAction( type: T, payloadCreator: (...rest: A) => P, $?: empty - ): (...rest: A) => { type: T, payload: P, error?: boolean }; + ): {(...rest: A): { type: T, payload: P, error?: boolean }, +toString: () => T}; declare function createAction( type: T, payloadCreator: (...rest: A) => P, metaCreator: (...rest: A) => M - ): (...rest: A) => { type: T, payload: P, error?: boolean, meta: M }; + ): {(...rest: A): { type: T, payload: P, error?: boolean, meta: M }, +toString: () => T}; declare function createAction( type: T, payloadCreator: null | void, metaCreator: (payload: P, ...rest: any[]) => M - ): ( - payload: P, - ...rest: any[] - ) => { type: T, payload: P, error?: boolean, meta: M }; + ): {( + payload: P, + ...rest: any[] + ): { type: T, payload: P, error?: boolean, meta: M }, +toString: () => T}; // `createActions` is quite difficult to write a type for. Maybe try not to // use this one? @@ -60,7 +60,22 @@ declare module "redux-actions" { ): Object; declare function createActions(...identityActions: string[]): Object; + /* + * The semantics of the reducer (i.e. ReduxReducer) returned by either + * `handleAction` or `handleActions` are actually different from the semantics + * of the reducer (i.e. Reducer) that are consumed by either `handleAction` + * or `handleActions`. + * + * Reducers (i.e. Reducer) consumed by either `handleAction` or `handleActions` + * are assumed to be given the actual `State` type, since internally, + * `redux-actions` will perform the action type matching for us, and will always + * provide the expected state type. + * + * The reducers returned by either `handleAction` or `handleActions` will be + * compatible with the `redux` library. + */ declare type Reducer = (state: S, action: A) => S; + declare type ReduxReducer = (state: S | void, action: A) => S; declare type ReducerMap = | { next: Reducer } @@ -73,7 +88,7 @@ declare module "redux-actions" { * `handleActions`. For example: * * import { type Reducer } from 'redux' - * import { createAction, handleAction, type Action } from 'redux-actions' + * import { createAction, handleAction, type ActionType } from 'redux-actions' * * const increment = createAction(INCREMENT, (count: number) => count) * @@ -92,14 +107,14 @@ declare module "redux-actions" { type: Type, reducer: ReducerDefinition, defaultState: State - ): Reducer; + ): ReduxReducer; declare function handleActions( reducers: { [key: string]: Reducer | ReducerMap }, defaultState?: State - ): Reducer; + ): ReduxReducer; declare function combineActions( ...types: (string | Symbol | Function)[] diff --git a/flow-typed/npm/redux-asserts_vx.x.x.js b/flow-typed/npm/redux-asserts_vx.x.x.js new file mode 100644 index 0000000000..fbe820d4e4 --- /dev/null +++ b/flow-typed/npm/redux-asserts_vx.x.x.js @@ -0,0 +1,39 @@ +// flow-typed signature: be02f448dd536ca81a80fdf8bd4e48ed +// flow-typed version: <>/redux-asserts_v^0.0.10/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'redux-asserts' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'redux-asserts' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'redux-asserts/lib/index' { + declare module.exports: any; +} + +declare module 'redux-asserts/src/index' { + declare module.exports: any; +} + +// Filename aliases +declare module 'redux-asserts/lib/index.js' { + declare module.exports: $Exports<'redux-asserts/lib/index'>; +} +declare module 'redux-asserts/src/index.js' { + declare module.exports: $Exports<'redux-asserts/src/index'>; +} diff --git a/flow-typed/npm/redux-debounced_vx.x.x.js b/flow-typed/npm/redux-debounced_vx.x.x.js new file mode 100644 index 0000000000..3a132f6e46 --- /dev/null +++ b/flow-typed/npm/redux-debounced_vx.x.x.js @@ -0,0 +1,53 @@ +// flow-typed signature: 211496676eaca44eacfe30c4ce50a400 +// flow-typed version: <>/redux-debounced_v^0.5.0/flow_v0.75.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'redux-debounced' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'redux-debounced' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'redux-debounced/coverage/lcov-report/prettify' { + declare module.exports: any; +} + +declare module 'redux-debounced/coverage/lcov-report/sorter' { + declare module.exports: any; +} + +declare module 'redux-debounced/lib/index' { + declare module.exports: any; +} + +declare module 'redux-debounced/test/index' { + declare module.exports: any; +} + +// Filename aliases +declare module 'redux-debounced/coverage/lcov-report/prettify.js' { + declare module.exports: $Exports<'redux-debounced/coverage/lcov-report/prettify'>; +} +declare module 'redux-debounced/coverage/lcov-report/sorter.js' { + declare module.exports: $Exports<'redux-debounced/coverage/lcov-report/sorter'>; +} +declare module 'redux-debounced/lib/index.js' { + declare module.exports: $Exports<'redux-debounced/lib/index'>; +} +declare module 'redux-debounced/test/index.js' { + declare module.exports: $Exports<'redux-debounced/test/index'>; +} diff --git a/flow-typed/npm/redux-hammock_vx.x.x.js b/flow-typed/npm/redux-hammock_vx.x.x.js index 4e42e70aa7..834128d73c 100644 --- a/flow-typed/npm/redux-hammock_vx.x.x.js +++ b/flow-typed/npm/redux-hammock_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 84eef130e971f974808bf17a8c117349 -// flow-typed version: <>/redux-hammock_v^0.2.1/flow_v0.59.0 +// flow-typed signature: 47ae24dd17d0a76e882869b1572eb5fa +// flow-typed version: <>/redux-hammock_v^0.2.3/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/redux-logger_vx.x.x.js b/flow-typed/npm/redux-logger_vx.x.x.js index 358001f1f3..8fa9b9ed93 100644 --- a/flow-typed/npm/redux-logger_vx.x.x.js +++ b/flow-typed/npm/redux-logger_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 3e4f1e296be3229ba64f3888b5b464e4 -// flow-typed version: <>/redux-logger_v^3.0.6/flow_v0.59.0 +// flow-typed signature: 18798a4f5155bbd41d8ebd03a037a3b8 +// flow-typed version: <>/redux-logger_v^3.0.6/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/redux-thunk_vx.x.x.js b/flow-typed/npm/redux-thunk_vx.x.x.js index 8363d0aa1e..c10fdd4205 100644 --- a/flow-typed/npm/redux-thunk_vx.x.x.js +++ b/flow-typed/npm/redux-thunk_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: a2ab68b81488119ce1cd99ebd6116896 -// flow-typed version: <>/redux-thunk_v^2.2.0/flow_v0.59.0 +// flow-typed signature: 2d2620f34fc6349076c754da92b45511 +// flow-typed version: <>/redux-thunk_v^2.2.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/redux_v3.x.x.js b/flow-typed/npm/redux_v3.x.x.js index 08c122efbd..7bc662368a 100644 --- a/flow-typed/npm/redux_v3.x.x.js +++ b/flow-typed/npm/redux_v3.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 33b83b6284653250e74578cf4dbe6124 -// flow-typed version: e282e4128f/redux_v3.x.x/flow_>=v0.33.x +// flow-typed signature: cca4916b0213065533df8335c3285a4a +// flow-typed version: cab04034e7/redux_v3.x.x/flow_>=v0.55.x declare module 'redux' { @@ -27,7 +27,7 @@ declare module 'redux' { replaceReducer(nextReducer: Reducer): void }; - declare export type Reducer = (state: S, action: A) => S; + declare export type Reducer = (state: S | void, action: A) => S; declare export type CombinedReducer = (state: $Shape & {} | void, action: A) => S; @@ -43,7 +43,7 @@ declare module 'redux' { declare export type StoreEnhancer> = (next: StoreCreator) => StoreCreator; declare export function createStore(reducer: Reducer, enhancer?: StoreEnhancer): Store; - declare export function createStore(reducer: Reducer, preloadedState: S, enhancer?: StoreEnhancer): Store; + declare export function createStore(reducer: Reducer, preloadedState?: S, enhancer?: StoreEnhancer): Store; declare export function applyMiddleware(...middlewares: Array>): StoreEnhancer; @@ -55,55 +55,5 @@ declare module 'redux' { declare export function combineReducers(reducers: O): CombinedReducer<$ObjMap(r: Reducer) => S>, A>; - declare export function compose(ab: (a: A) => B): (a: A) => B - declare export function compose( - bc: (b: B) => C, - ab: (a: A) => B - ): (a: A) => C - declare export function compose( - cd: (c: C) => D, - bc: (b: B) => C, - ab: (a: A) => B - ): (a: A) => D - declare export function compose( - de: (d: D) => E, - cd: (c: C) => D, - bc: (b: B) => C, - ab: (a: A) => B - ): (a: A) => E - declare export function compose( - ef: (e: E) => F, - de: (d: D) => E, - cd: (c: C) => D, - bc: (b: B) => C, - ab: (a: A) => B - ): (a: A) => F - declare export function compose( - fg: (f: F) => G, - ef: (e: E) => F, - de: (d: D) => E, - cd: (c: C) => D, - bc: (b: B) => C, - ab: (a: A) => B - ): (a: A) => G - declare export function compose( - gh: (g: G) => H, - fg: (f: F) => G, - ef: (e: E) => F, - de: (d: D) => E, - cd: (c: C) => D, - bc: (b: B) => C, - ab: (a: A) => B - ): (a: A) => H - declare export function compose( - hi: (h: H) => I, - gh: (g: G) => H, - fg: (f: F) => G, - ef: (e: E) => F, - de: (d: D) => E, - cd: (c: C) => D, - bc: (b: B) => C, - ab: (a: A) => B - ): (a: A) => I - + declare export var compose: $Compose; } diff --git a/flow-typed/npm/sanctuary_vx.x.x.js b/flow-typed/npm/sanctuary_vx.x.x.js index 551f18d99d..dc66010098 100644 --- a/flow-typed/npm/sanctuary_vx.x.x.js +++ b/flow-typed/npm/sanctuary_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 33f4703d55fb3a9f2ddda154e0e968d5 -// flow-typed version: <>/sanctuary_v^0.13.2/flow_v0.59.0 +// flow-typed signature: ceaeaec090b01dfdea562cfafdf239e6 +// flow-typed version: <>/sanctuary_v^0.13.2/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/sass-lint_vx.x.x.js b/flow-typed/npm/sass-lint_vx.x.x.js index 9f82b4119a..0c6f66e00f 100644 --- a/flow-typed/npm/sass-lint_vx.x.x.js +++ b/flow-typed/npm/sass-lint_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 8a123f7be6f61955552b4d82eac8db47 -// flow-typed version: <>/sass-lint_v^1.10.2/flow_v0.59.0 +// flow-typed signature: 32d2c0c17293d487de3369b0b020a0a3 +// flow-typed version: <>/sass-lint_v^1.10.2/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/sass-loader_vx.x.x.js b/flow-typed/npm/sass-loader_vx.x.x.js index dc385115b8..231198f377 100644 --- a/flow-typed/npm/sass-loader_vx.x.x.js +++ b/flow-typed/npm/sass-loader_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 6a4761d44b1d11794dda5c029121ce6a -// flow-typed version: <>/sass-loader_v^6.0.6/flow_v0.59.0 +// flow-typed signature: 71a19fe13722bb339397fb5b633b19c1 +// flow-typed version: <>/sass-loader_v^6.0.6/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/sinon_vx.x.x.js b/flow-typed/npm/sinon_vx.x.x.js index b109e39567..4a74a03b19 100644 --- a/flow-typed/npm/sinon_vx.x.x.js +++ b/flow-typed/npm/sinon_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: d63fa03326ad677a2c184f0601a452c2 -// flow-typed version: <>/sinon_v^2.3.8/flow_v0.59.0 +// flow-typed signature: 2e4c3245471797030b39bc07c3ecc1fd +// flow-typed version: <>/sinon_v^4.1.3/flow_v0.75.0 /** * This is an autogenerated libdef stub for: @@ -70,10 +70,6 @@ declare module 'sinon/lib/sinon/mock' { declare module.exports: any; } -declare module 'sinon/lib/sinon/sandbox-stub' { - declare module.exports: any; -} - declare module 'sinon/lib/sinon/sandbox' { declare module.exports: any; } @@ -86,10 +82,6 @@ declare module 'sinon/lib/sinon/spy' { declare module.exports: any; } -declare module 'sinon/lib/sinon/stub-descriptor' { - declare module.exports: any; -} - declare module 'sinon/lib/sinon/stub-entire-object' { declare module.exports: any; } @@ -150,18 +142,10 @@ declare module 'sinon/lib/sinon/util/core/get-property-descriptor' { declare module.exports: any; } -declare module 'sinon/lib/sinon/util/core/index' { - declare module.exports: any; -} - declare module 'sinon/lib/sinon/util/core/iterable-to-string' { declare module.exports: any; } -declare module 'sinon/lib/sinon/util/core/log_error' { - declare module.exports: any; -} - declare module 'sinon/lib/sinon/util/core/order-by-first-call' { declare module.exports: any; } @@ -190,34 +174,10 @@ declare module 'sinon/lib/sinon/util/core/wrap-method' { declare module.exports: any; } -declare module 'sinon/lib/sinon/util/event' { - declare module.exports: any; -} - -declare module 'sinon/lib/sinon/util/fake_server_with_clock' { - declare module.exports: any; -} - -declare module 'sinon/lib/sinon/util/fake_server' { - declare module.exports: any; -} - declare module 'sinon/lib/sinon/util/fake_timers' { declare module.exports: any; } -declare module 'sinon/lib/sinon/util/fake_xml_http_request' { - declare module.exports: any; -} - -declare module 'sinon/pkg/sinon-2.3.8' { - declare module.exports: any; -} - -declare module 'sinon/pkg/sinon-no-sourcemaps-2.3.8' { - declare module.exports: any; -} - declare module 'sinon/pkg/sinon-no-sourcemaps' { declare module.exports: any; } @@ -263,9 +223,6 @@ declare module 'sinon/lib/sinon/mock-expectation.js' { declare module 'sinon/lib/sinon/mock.js' { declare module.exports: $Exports<'sinon/lib/sinon/mock'>; } -declare module 'sinon/lib/sinon/sandbox-stub.js' { - declare module.exports: $Exports<'sinon/lib/sinon/sandbox-stub'>; -} declare module 'sinon/lib/sinon/sandbox.js' { declare module.exports: $Exports<'sinon/lib/sinon/sandbox'>; } @@ -275,9 +232,6 @@ declare module 'sinon/lib/sinon/spy-formatters.js' { declare module 'sinon/lib/sinon/spy.js' { declare module.exports: $Exports<'sinon/lib/sinon/spy'>; } -declare module 'sinon/lib/sinon/stub-descriptor.js' { - declare module.exports: $Exports<'sinon/lib/sinon/stub-descriptor'>; -} declare module 'sinon/lib/sinon/stub-entire-object.js' { declare module.exports: $Exports<'sinon/lib/sinon/stub-entire-object'>; } @@ -323,15 +277,9 @@ declare module 'sinon/lib/sinon/util/core/get-config.js' { declare module 'sinon/lib/sinon/util/core/get-property-descriptor.js' { declare module.exports: $Exports<'sinon/lib/sinon/util/core/get-property-descriptor'>; } -declare module 'sinon/lib/sinon/util/core/index.js' { - declare module.exports: $Exports<'sinon/lib/sinon/util/core/index'>; -} declare module 'sinon/lib/sinon/util/core/iterable-to-string.js' { declare module.exports: $Exports<'sinon/lib/sinon/util/core/iterable-to-string'>; } -declare module 'sinon/lib/sinon/util/core/log_error.js' { - declare module.exports: $Exports<'sinon/lib/sinon/util/core/log_error'>; -} declare module 'sinon/lib/sinon/util/core/order-by-first-call.js' { declare module.exports: $Exports<'sinon/lib/sinon/util/core/order-by-first-call'>; } @@ -353,27 +301,9 @@ declare module 'sinon/lib/sinon/util/core/walk.js' { declare module 'sinon/lib/sinon/util/core/wrap-method.js' { declare module.exports: $Exports<'sinon/lib/sinon/util/core/wrap-method'>; } -declare module 'sinon/lib/sinon/util/event.js' { - declare module.exports: $Exports<'sinon/lib/sinon/util/event'>; -} -declare module 'sinon/lib/sinon/util/fake_server_with_clock.js' { - declare module.exports: $Exports<'sinon/lib/sinon/util/fake_server_with_clock'>; -} -declare module 'sinon/lib/sinon/util/fake_server.js' { - declare module.exports: $Exports<'sinon/lib/sinon/util/fake_server'>; -} declare module 'sinon/lib/sinon/util/fake_timers.js' { declare module.exports: $Exports<'sinon/lib/sinon/util/fake_timers'>; } -declare module 'sinon/lib/sinon/util/fake_xml_http_request.js' { - declare module.exports: $Exports<'sinon/lib/sinon/util/fake_xml_http_request'>; -} -declare module 'sinon/pkg/sinon-2.3.8.js' { - declare module.exports: $Exports<'sinon/pkg/sinon-2.3.8'>; -} -declare module 'sinon/pkg/sinon-no-sourcemaps-2.3.8.js' { - declare module.exports: $Exports<'sinon/pkg/sinon-no-sourcemaps-2.3.8'>; -} declare module 'sinon/pkg/sinon-no-sourcemaps.js' { declare module.exports: $Exports<'sinon/pkg/sinon-no-sourcemaps'>; } diff --git a/flow-typed/npm/spinkit_vx.x.x.js b/flow-typed/npm/spinkit_vx.x.x.js index abfb161cb5..8315e59b79 100644 --- a/flow-typed/npm/spinkit_vx.x.x.js +++ b/flow-typed/npm/spinkit_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 31231fda53f7b86094da127769166067 -// flow-typed version: <>/spinkit_v^1.2.5/flow_v0.59.0 +// flow-typed signature: db294320ec2621e1dcd7c4087af56dc7 +// flow-typed version: <>/spinkit_v^1.2.5/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/style-loader_vx.x.x.js b/flow-typed/npm/style-loader_vx.x.x.js index 72b46531cc..d3c185e8f8 100644 --- a/flow-typed/npm/style-loader_vx.x.x.js +++ b/flow-typed/npm/style-loader_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 5e57cb0bbb18c3a31679183cb17cf048 -// flow-typed version: <>/style-loader_v^0.18.2/flow_v0.59.0 +// flow-typed signature: c8248ff865d16b86ba58d2ef5d7f0ae3 +// flow-typed version: <>/style-loader_v^0.18.2/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/url-loader_vx.x.x.js b/flow-typed/npm/url-loader_vx.x.x.js index 3d31e6bc8c..9916bec146 100644 --- a/flow-typed/npm/url-loader_vx.x.x.js +++ b/flow-typed/npm/url-loader_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 1f179375faf29d1ab8ad5bc2e027fca1 -// flow-typed version: <>/url-loader_v^0.5.9/flow_v0.59.0 +// flow-typed signature: c99eb5c018993a0e0f01b75a79b9f01b +// flow-typed version: <>/url-loader_v^0.5.9/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/webpack-bundle-tracker_vx.x.x.js b/flow-typed/npm/webpack-bundle-tracker_vx.x.x.js index 82fd3417ee..4c6aced826 100644 --- a/flow-typed/npm/webpack-bundle-tracker_vx.x.x.js +++ b/flow-typed/npm/webpack-bundle-tracker_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 91bee0e980d8f065dec9d93161817fd5 -// flow-typed version: <>/webpack-bundle-tracker_v^0.2.0/flow_v0.59.0 +// flow-typed signature: f1270421a2de0aaac6a965b0e72c488d +// flow-typed version: <>/webpack-bundle-tracker_v^0.2.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/webpack-dev-middleware_vx.x.x.js b/flow-typed/npm/webpack-dev-middleware_vx.x.x.js index 3fe9a925df..3ac606f61b 100644 --- a/flow-typed/npm/webpack-dev-middleware_vx.x.x.js +++ b/flow-typed/npm/webpack-dev-middleware_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 54d0e9e79866534e5d1bf5512247f982 -// flow-typed version: <>/webpack-dev-middleware_v^1.11.0/flow_v0.59.0 +// flow-typed signature: 049f5ecd152e9d0763079b150bcad39c +// flow-typed version: <>/webpack-dev-middleware_v^1.11.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/webpack-hot-middleware_vx.x.x.js b/flow-typed/npm/webpack-hot-middleware_vx.x.x.js index 79f635d981..e0f4ceb04d 100644 --- a/flow-typed/npm/webpack-hot-middleware_vx.x.x.js +++ b/flow-typed/npm/webpack-hot-middleware_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 962ad250eabbd00bb2996e8766271cdd -// flow-typed version: <>/webpack-hot-middleware_v^2.18.2/flow_v0.59.0 +// flow-typed signature: fb505fa124d69553299d53eede088d1a +// flow-typed version: <>/webpack-hot-middleware_v^2.18.2/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/webpack_vx.x.x.js b/flow-typed/npm/webpack_vx.x.x.js index 1cfff66be8..ad0aae2f69 100644 --- a/flow-typed/npm/webpack_vx.x.x.js +++ b/flow-typed/npm/webpack_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 93f70c44725878c960ee43579526818d -// flow-typed version: <>/webpack_v^3.2.0/flow_v0.59.0 +// flow-typed signature: b4ab150987139fa560512492e2a24070 +// flow-typed version: <>/webpack_v^3.2.0/flow_v0.75.0 /** * This is an autogenerated libdef stub for: diff --git a/package.json b/package.json index 70f707dcd3..0d553c68b9 100644 --- a/package.json +++ b/package.json @@ -86,6 +86,7 @@ "react-redux": "^5.0.5", "react-router": "^4.1.1", "react-router-dom": "^4.1.1", + "react-share": "^2.2.0", "react-test-renderer": "^15.6.1", "react-tooltip": "^3.6.0", "redux": "^3.7.2", diff --git a/static/js/components/CommentForms.js b/static/js/components/CommentForms.js index 3328c6049b..234c8b0407 100644 --- a/static/js/components/CommentForms.js +++ b/static/js/components/CommentForms.js @@ -26,7 +26,8 @@ type CommentFormProps = { processing: boolean, patchComment: (c: Object) => void, patchPost: (p: Object) => void, - comment: CommentInTree + comment: CommentInTree, + editing: boolean } export const replyToCommentKey = (comment: CommentInTree) => @@ -144,7 +145,7 @@ export const beginEditing = R.curry((dispatch, formKey, initialValue, e) => { ) }) -const mapDispatchToProps = (dispatch, ownProps) => { +const mapDispatchToProps = (dispatch: any, ownProps: CommentFormProps) => { const formKey = ownProps.editing ? getEditFormKeyFromOwnProps(ownProps) : getFormKeyFromOwnProps(ownProps) @@ -206,7 +207,7 @@ const mapDispatchToProps = (dispatch, ownProps) => { } } -export const ReplyToCommentForm = connect( +export const ReplyToCommentForm: Class> = connect( mapStateToProps, mapDispatchToProps )( @@ -253,7 +254,7 @@ export const ReplyToCommentForm = connect( } ) -export const EditCommentForm = connect( +export const EditCommentForm: Class> = connect( mapStateToProps, mapDispatchToProps )( @@ -302,7 +303,7 @@ export const EditCommentForm = connect( } ) -export const EditPostForm = connect( +export const EditPostForm: Class> = connect( mapStateToProps, mapDispatchToProps )( @@ -363,7 +364,7 @@ const getFormData = (lensFunc, forms) => ({ comment_id: R.view(lensFunc("comment_id"), forms) }) -export const ReplyToPostForm = connect( +export const ReplyToPostForm: Class> = connect( mapStateToProps, mapDispatchToProps )( diff --git a/static/js/components/CommentTree.js b/static/js/components/CommentTree.js index cd9f12ce40..7499c230c9 100644 --- a/static/js/components/CommentTree.js +++ b/static/js/components/CommentTree.js @@ -11,6 +11,7 @@ import { ReplyToCommentForm, EditCommentForm } from "./CommentForms" import CommentVoteForm from "./CommentVoteForm" import CommentRemovalForm from "./CommentRemovalForm" import { renderTextContent } from "./Markdown" +import ProfileImage, { PROFILE_IMAGE_SMALL } from "../containers/ProfileImage" import { preventDefaultAndInvoke, userIsAnonymous } from "../lib/util" import { @@ -18,6 +19,7 @@ import { editCommentKey, getCommentReplyInitialValue } from "../components/CommentForms" +import { makeProfile } from "../lib/profile" import type { GenericComment, @@ -27,7 +29,6 @@ import type { import type { FormsState } from "../flow/formTypes" import type { CommentRemoveFunc } from "./CommentRemovalForm" import type { CommentVoteFunc } from "./CommentVoteForm" -import ProfileImage from "../containers/ProfileImage" type LoadMoreCommentsFunc = (comment: MoreCommentsInTree) => Promise<*> type BeginEditingFunc = (fk: string, iv: Object, e: ?Object) => void @@ -110,11 +111,12 @@ export default class CommentTree extends React.Component<*, *> { key={`comment-${comment.id}`} >

diff --git a/static/js/components/CompactPostDisplay.js b/static/js/components/CompactPostDisplay.js index 3e4e01d7db..32def1088b 100644 --- a/static/js/components/CompactPostDisplay.js +++ b/static/js/components/CompactPostDisplay.js @@ -11,11 +11,12 @@ import { channelURL, postDetailURL } from "../lib/url" import { PostVotingButtons, PostTitleAndHostname, - getPostDropdownMenuKey + getPostDropdownMenuKey, + postMenuDropdownFuncs } from "../lib/posts" import { userIsAnonymous } from "../lib/util" -import { showDropdown, hideDropdownDebounced } from "../actions/ui" +import type { Dispatch } from "redux" import type { Post } from "../flow/discussionTypes" export class CompactPostDisplay extends React.Component<*, void> { @@ -31,7 +32,8 @@ export class CompactPostDisplay extends React.Component<*, void> { reportPost: (p: Post) => void, menuOpen: boolean, showPostMenu: Function, - hidePostMenu: Function + hidePostMenu: Function, + dispatch: Dispatch<*> } showChannelLink = () => { @@ -55,11 +57,11 @@ export class CompactPostDisplay extends React.Component<*, void> { removePost, ignorePostReports, reportPost, - showPostMenu, - hidePostMenu, - menuOpen + menuOpen, + dispatch } = this.props const formattedDate = moment(post.created).fromNow() + const { showPostMenu, hidePostMenu } = postMenuDropdownFuncs(dispatch, post) return ( { return { menuOpen } } -const mapDispatchToProps = (dispatch, ownProps) => { - const { post } = ownProps - const postMenuKey = getPostDropdownMenuKey(post) - - return { - showPostMenu: () => dispatch(showDropdown(postMenuKey)), - hidePostMenu: () => dispatch(hideDropdownDebounced(postMenuKey)) - } -} - -export default connect( - mapStateToProps, - mapDispatchToProps -)(CompactPostDisplay) +export default connect(mapStateToProps)(CompactPostDisplay) diff --git a/static/js/components/ExpandedPostDisplay.js b/static/js/components/ExpandedPostDisplay.js index fc3dbaa593..6292e3b638 100644 --- a/static/js/components/ExpandedPostDisplay.js +++ b/static/js/components/ExpandedPostDisplay.js @@ -7,31 +7,45 @@ import R from "ramda" import { EditPostForm } from "./CommentForms" import { renderTextContent } from "./Markdown" import Embedly from "./Embedly" +import ProfileImage, { PROFILE_IMAGE_MICRO } from "../containers/ProfileImage" +import DropdownMenu from "./DropdownMenu" +import SharePopup from "./SharePopup" import { formatPostTitle, PostVotingButtons } from "../lib/posts" import { preventDefaultAndInvoke, userIsAnonymous } from "../lib/util" import { editPostKey } from "../components/CommentForms" +import { makeProfile } from "../lib/profile" +import { postPermalink } from "../lib/url" -import type { Post } from "../flow/discussionTypes" +import type { Post, Channel } from "../flow/discussionTypes" import type { FormsState } from "../flow/formTypes" -import ProfileImage from "../containers/ProfileImage" - -export default class ExpandedPostDisplay extends React.Component<*, void> { - props: { - post: Post, - toggleUpvote: Post => void, - approvePost: Post => void, - removePost: Post => void, - forms: FormsState, - isModerator: boolean, - beginEditing: (key: string, initialValue: Object, e: ?Event) => void, - showPostDeleteDialog: () => void, - showPostReportDialog: () => void, - showPermalinkUI: boolean, - toggleFollowPost: Post => void, - embedly: Object - } +type ExpandedProps = { + post: Post, + toggleUpvote: Post => void, + approvePost: Post => void, + removePost: Post => void, + forms: FormsState, + isModerator: boolean, + beginEditing: (key: string, initialValue: Object, e: ?Event) => void, + showPostDeleteDialog: () => void, + showPostReportDialog: () => void, + showPermalinkUI: boolean, + toggleFollowPost: Post => void, + embedly: Object, + showPostMenu: Function, + hidePostMenu: Function, + postDropdownMenuOpen: boolean, + showPostShareMenu: Function, + hidePostShareMenu: Function, + postShareMenuOpen: boolean, + channel: Channel +} + +export default class ExpandedPostDisplay extends React.Component< + ExpandedProps, + void +> { renderTextContent = () => { const { forms, post } = this.props @@ -62,21 +76,23 @@ export default class ExpandedPostDisplay extends React.Component<*, void> { const { toggleFollowPost, post } = this.props return post.subscribed ? ( ) : (
{ toggleFollowPost(post) })} > - follow + rss_feed + Follow
) } @@ -88,60 +104,93 @@ export default class ExpandedPostDisplay extends React.Component<*, void> { beginEditing, isModerator, showPostDeleteDialog, - showPostReportDialog + showPostReportDialog, + postDropdownMenuOpen, + showPostMenu, + hidePostMenu, + showPostShareMenu, + hidePostShareMenu, + postShareMenuOpen, + channel } = this.props return (
- - {SETTINGS.username === post.author_id && post.text ? ( -
- edit -
- ) : null} - {post.num_reports ? ( -
Reports: {post.num_reports}
- ) : null} - {SETTINGS.username === post.author_id ? ( -
- delete -
- ) : null} - {userIsAnonymous() ? null : this.postSubscriptionButton()} - {isModerator && !post.removed ? ( -
- remove -
- ) : null} - {isModerator && post.removed ? ( -
- approve -
- ) : null} - {!userIsAnonymous() ? ( -
- report +
+ +
+
+ {SETTINGS.username === post.author_id && post.text ? ( +
+ edit + Edit +
+ ) : null} +
+
+ reply + Share +
+ {postShareMenuOpen ? ( + + ) : null}
- ) : null} + {userIsAnonymous() ? null : this.postSubscriptionButton()} + {userIsAnonymous() ? null : ( + + more_vert + + )} + {postDropdownMenuOpen ? ( + + {post.num_reports ? ( +
Reports: {post.num_reports}
+ ) : null} + {SETTINGS.username === post.author_id ? ( +
  • + + delete + +
  • + ) : null} + {isModerator && !post.removed ? ( +
  • + + remove + +
  • + ) : null} + {isModerator && post.removed ? ( +
  • + + approve + +
  • + ) : null} + {!userIsAnonymous() ? ( +
  • + + report + +
  • + ) : null} +
    + ) : null} +
    ) } @@ -153,17 +202,19 @@ export default class ExpandedPostDisplay extends React.Component<*, void> { return (
    -
    {formatPostTitle(post)}
    - by {post.author_name},{" "} - {formattedDate} +
    + +
    {post.author_name}
    +
    +
    {formattedDate}
    {post && post.url ? : null}
    diff --git a/static/js/components/ExpandedPostDisplay_test.js b/static/js/components/ExpandedPostDisplay_test.js index 31132353c8..210a39b4eb 100644 --- a/static/js/components/ExpandedPostDisplay_test.js +++ b/static/js/components/ExpandedPostDisplay_test.js @@ -5,22 +5,27 @@ import { mount } from "enzyme" import { Link } from "react-router-dom" import ReactMarkdown from "react-markdown" import R from "ramda" +import moment from "moment" import ExpandedPostDisplay from "./ExpandedPostDisplay" import Router from "../Router" import Embedly from "./Embedly" +import ProfileImage from "../containers/ProfileImage" +import SharePopup from "./SharePopup" import { wait } from "../lib/util" -import { urlHostname } from "../lib/url" +import { urlHostname, postPermalink } from "../lib/url" import { makePost } from "../factories/posts" import IntegrationTestHelper from "../util/integration_test_helper" import { actions } from "../actions" import { editPostKey } from "../components/CommentForms" import * as utilFuncs from "../lib/util" +import { makeChannel } from "../factories/channels" describe("ExpandedPostDisplay", () => { let helper, post, + channel, beginEditingStub, approvePostStub, removePostStub, @@ -28,7 +33,7 @@ describe("ExpandedPostDisplay", () => { showPostReportDialogStub, toggleFollowPostStub - const renderPostDisplay = props => { + const renderPostDisplay = (props = {}) => { props = { toggleUpvote: () => {}, beginEditing: R.curry((key, post, e) => { @@ -39,7 +44,10 @@ describe("ExpandedPostDisplay", () => { showPostDeleteDialog: showPostDeleteDialogStub, showPostReportDialog: showPostReportDialogStub, toggleFollowPost: toggleFollowPostStub, + postDropdownMenuOpen: true, forms: {}, + channel, + post, ...props } return mount( @@ -52,6 +60,7 @@ describe("ExpandedPostDisplay", () => { beforeEach(() => { helper = new IntegrationTestHelper() post = makePost() + channel = makeChannel() beginEditingStub = helper.sandbox.stub() approvePostStub = helper.sandbox.stub() removePostStub = helper.sandbox.stub() @@ -66,7 +75,7 @@ describe("ExpandedPostDisplay", () => { it("should render a post correctly", () => { post.edited = false - const wrapper = renderPostDisplay({ post }) + const wrapper = renderPostDisplay() const summary = wrapper.find(".summary") assert.equal(wrapper.find(".votes").text(), post.score.toString()) assert.equal( @@ -76,20 +85,24 @@ describe("ExpandedPostDisplay", () => { .props().children, post.title ) - const authoredBy = wrapper.find(".authored-by").text() - assert(authoredBy.startsWith(`by ${post.author_name}`)) - assert.isNotEmpty(authoredBy.substring(post.author_name.length)) + const authoredBy = wrapper.find(".authored-by") + assert.ok(authoredBy.find(ProfileImage).exists()) + assert.equal(authoredBy.find(".author-name").text(), post.author_name) + assert.equal( + authoredBy.find(".right").text(), + moment(post.created).fromNow() + ) }) it("should hide text content if passed showPermalinkUI", () => { - const wrapper = renderPostDisplay({ post, showPermalinkUI: true }) + const wrapper = renderPostDisplay({ showPermalinkUI: true }) assert.isFalse(wrapper.find(ReactMarkdown).exists()) }) it("should show an embedly component, if a link post", () => { [true, false].forEach(isLinkPost => { post = makePost(isLinkPost) - const wrapper = renderPostDisplay({ post }) + const wrapper = renderPostDisplay() assert.equal(isLinkPost, wrapper.find(Embedly).exists()) }) }) @@ -98,27 +111,21 @@ describe("ExpandedPostDisplay", () => { const string = "JUST SOME GREAT TEXT!" post.text = string post.edited = false - const wrapper = renderPostDisplay({ post: post }) + const wrapper = renderPostDisplay() assert.equal(wrapper.find(ReactMarkdown).props().source, string) }) - it("should display profile image", () => { - const wrapper = renderPostDisplay({ post: post }) - const { src } = wrapper.find(".summary img").props() - assert.equal(src, post.profile_image) - }) - it("should not display images from markdown", () => { post.edited = false post.text = "# MARKDOWN!\n![](https://images.example.com/potato.jpg)" - const wrapper = renderPostDisplay({ post: post }) + const wrapper = renderPostDisplay() assert.equal(wrapper.find(ReactMarkdown).props().source, post.text) assert.lengthOf(wrapper.find(ReactMarkdown).find("img"), 0) }) it("should include an external link, if a url post", () => { - const post = makePost(true) - const wrapper = renderPostDisplay({ post: post }) + post = makePost(true) + const wrapper = renderPostDisplay() const { href, target, children } = wrapper .find("a") .at(0) @@ -129,13 +136,13 @@ describe("ExpandedPostDisplay", () => { }) it("should display the domain, for a url post", () => { - const post = makePost(true) - const wrapper = renderPostDisplay({ post }) + post = makePost(true) + const wrapper = renderPostDisplay() assert.include(wrapper.find(".url-hostname").text(), urlHostname(post.url)) }) it("should link to the detail view, if a text post", () => { - const wrapper = renderPostDisplay({ post }) + const wrapper = renderPostDisplay() const { to, children } = wrapper .find(Link) .at(0) @@ -161,14 +168,16 @@ describe("ExpandedPostDisplay", () => { }) // - ;[[true, "unfollow"], [false, "follow"]].forEach( + ;[[true, "Unfollow"], [false, "Follow"]].forEach( ([subscribed, buttonText]) => { it(`should include a ${buttonText} button when subscribed === ${subscribed}`, () => { - const post = makePost() + post = makePost() post.subscribed = subscribed - const wrapper = renderPostDisplay({ post }) - const button = wrapper.find(".subscribe-post") - assert.equal(button.text(), buttonText) + const wrapper = renderPostDisplay() + const button = wrapper.find( + subscribed ? ".subscribed" : ".unsubscribed" + ) + assert.include(button.text(), buttonText) button.simulate("click") assert.ok(toggleFollowPostStub.called) }) @@ -177,34 +186,38 @@ describe("ExpandedPostDisplay", () => { it("should show a delete button if authored by the user", () => { [true, false].forEach(userAuthor => { - const post = makePost() + post = makePost() if (userAuthor) { SETTINGS.username = post.author_id } - const wrapper = renderPostDisplay({ post }) + const wrapper = renderPostDisplay() assert.equal(wrapper.find(".delete-post").exists(), userAuthor) }) }) it("should call showPostDeleteDialog when user clicks 'delete'", () => { - const post = makePost() SETTINGS.username = post.author_id - const wrapper = renderPostDisplay({ post }) - wrapper.find(".delete-post").simulate("click") + const wrapper = renderPostDisplay() + wrapper + .find(".delete-post") + .find("a") + .simulate("click") assert.ok(showPostDeleteDialogStub.called) }) it("should call showPostReportDialog when user clicks 'report'", () => { - const post = makePost() - const wrapper = renderPostDisplay({ post }) - wrapper.find(".report-post").simulate("click") + const wrapper = renderPostDisplay() + wrapper + .find(".report-post") + .find("a") + .simulate("click") assert.ok(showPostReportDialogStub.called) }) it('should call beginEditing when user clicks "edit"', () => { - const post = makePost(false) + post = makePost(false) SETTINGS.username = post.author_id - const wrapper = renderPostDisplay({ post }) + const wrapper = renderPostDisplay() wrapper .find(".edit-post") .at(0) @@ -213,23 +226,21 @@ describe("ExpandedPostDisplay", () => { }) it("should hide the report link for anonymous users", () => { - const post = makePost() helper.sandbox.stub(utilFuncs, "userIsAnonymous").returns(true) - const wrapper = renderPostDisplay({ post }) + const wrapper = renderPostDisplay() assert.isNotOk(wrapper.find(".comment-action-button.report-post").exists()) }) it("should hide the follow link for anonymous users", () => { - const post = makePost() helper.sandbox.stub(utilFuncs, "userIsAnonymous").returns(true) - const wrapper = renderPostDisplay({ post }) + const wrapper = renderPostDisplay() assert.isNotOk( wrapper.find(".comment-action-button.subscribe-post").exists() ) }) it("should hide post action buttons when editing", () => { - const post = makePost(false) + post = makePost(false) helper.store.dispatch( actions.forms.formBeginEdit({ formKey: editPostKey(post), @@ -237,7 +248,6 @@ describe("ExpandedPostDisplay", () => { }) ) const wrapper = renderPostDisplay({ - post, forms: helper.store.getState().forms }) assert.lengthOf(wrapper.find(".post-actions"), 0) @@ -295,7 +305,7 @@ describe("ExpandedPostDisplay", () => { [[true, false], [true, true], [false, false], [false, true]].forEach( ([isModerator, removed]) => { post.removed = removed - const wrapper = renderPostDisplay({ post, isModerator }) + const wrapper = renderPostDisplay({ isModerator }) assert.equal( wrapper.find(".approve-post").exists(), isModerator && removed @@ -310,21 +320,27 @@ describe("ExpandedPostDisplay", () => { it('should call approvePost when user clicks "approve"', () => { post.removed = true - const wrapper = renderPostDisplay({ post, isModerator: true }) - wrapper.find(".approve-post").simulate("click") + const wrapper = renderPostDisplay({ isModerator: true }) + wrapper + .find(".approve-post") + .find("a") + .simulate("click") assert.ok(approvePostStub.called) }) it('should call removePost when user clicks "remove"', () => { post.removed = false - const wrapper = renderPostDisplay({ post, isModerator: true }) - wrapper.find(".remove-post").simulate("click") + const wrapper = renderPostDisplay({ isModerator: true }) + wrapper + .find(".remove-post") + .find("a") + .simulate("click") assert.ok(removePostStub.called) }) it("should display a report count, if num_reports has a value", () => { post.num_reports = 2 - const wrapper = renderPostDisplay({ post }) + const wrapper = renderPostDisplay() const count = wrapper.find(".report-count") assert.ok(count.exists()) // $FlowFixMe: thinks this doesn't exist @@ -332,8 +348,24 @@ describe("ExpandedPostDisplay", () => { }) it("should not render a report count, if post has no report data", () => { - const wrapper = renderPostDisplay({ post }) + const wrapper = renderPostDisplay() const count = wrapper.find(".report-count") assert.isNotOk(count.exists()) }) + + it("should render a sharepopup", () => { + const wrapper = renderPostDisplay({ postShareMenuOpen: true }).find( + SharePopup + ) + assert.ok(wrapper.exists()) + assert.equal(wrapper.props().url, postPermalink(post)) + }) + + it("should pass down hideSocialButtons to SharePopup if private channel", () => { + channel.channel_type = "private" + const popup = renderPostDisplay({ postShareMenuOpen: true }).find( + SharePopup + ) + assert.isTrue(popup.props().hideSocialButtons) + }) }) diff --git a/static/js/components/ProfileForm.js b/static/js/components/ProfileForm.js index e91d9526a3..ec7a1a4867 100644 --- a/static/js/components/ProfileForm.js +++ b/static/js/components/ProfileForm.js @@ -2,14 +2,16 @@ /* global SETTINGS: false */ import React from "react" -import ProfileImage from "../containers/ProfileImage" +import ProfileImage, { PROFILE_IMAGE_MEDIUM } from "../containers/ProfileImage" + +import { validationMessage } from "../lib/validation" +import { goBackAndHandleEvent } from "../lib/util" + import type { Profile, ProfilePayload, ProfileValidation } from "../flow/discussionTypes" -import { validationMessage } from "../lib/validation" -import { goBackAndHandleEvent } from "../lib/util" type ProfileFormProps = { form: ProfilePayload, @@ -45,7 +47,7 @@ export default class ProfileForm extends React.Component<*, void> { profile={profile} userName={profile.username} editable={profile.username === SETTINGS.username} - useSmall={false} + imageSize={PROFILE_IMAGE_MEDIUM} />
    diff --git a/static/js/components/ProfileImageUploader.js b/static/js/components/ProfileImageUploader.js index c86a7dada0..dc9d5e2b74 100644 --- a/static/js/components/ProfileImageUploader.js +++ b/static/js/components/ProfileImageUploader.js @@ -6,6 +6,7 @@ import Dropzone from "react-dropzone" import CropperWrapper from "./CropperWrapper" import { FETCH_PROCESSING } from "../actions/image_upload" + import type { ImageUploadState } from "../reducers/image_upload" const onDrop = R.curry((startPhotoEdit, files) => startPhotoEdit(...files)) diff --git a/static/js/components/SharePopup.js b/static/js/components/SharePopup.js new file mode 100644 index 0000000000..068dc83192 --- /dev/null +++ b/static/js/components/SharePopup.js @@ -0,0 +1,70 @@ +// @flow +import React from "react" +import onClickOutside from "react-onclickoutside" +import { + FacebookShareButton, + LinkedinShareButton, + TwitterShareButton +} from "react-share" +import { FacebookIcon, TwitterIcon, LinkedinIcon } from "react-share" + +type SharePopupProps = { + url: string, + closePopup: Function, + hideSocialButtons?: boolean +} + +export class SharePopupHelper extends React.Component { + input: { current: null | React$ElementRef } + + constructor(props: SharePopupProps) { + super(props) + this.input = React.createRef() + } + + handleClickOutside = () => { + const { closePopup } = this.props + closePopup() + } + + selectInputText = (e: Event) => { + e.preventDefault() + if (this.input.current) { + this.input.current.select() + document.execCommand("copy") + } + } + + render() { + const { url, hideSocialButtons } = this.props + + return ( +
    +
    +
    Share a link to this post:
    + +
    + {hideSocialButtons ? null : ( +
    + + + + + + + + + +
    + )} + + Copy URL to clipboard + +
    +
    + ) + } +} + +const SharePopup = onClickOutside(SharePopupHelper) +export default SharePopup diff --git a/static/js/components/SharePopup_test.js b/static/js/components/SharePopup_test.js new file mode 100644 index 0000000000..ed3a3c9308 --- /dev/null +++ b/static/js/components/SharePopup_test.js @@ -0,0 +1,85 @@ +// @flow +import React from "react" +import { mount } from "enzyme" +import { assert } from "chai" +import sinon from "sinon" +import { + FacebookShareButton, + LinkedinShareButton, + TwitterShareButton +} from "react-share" +import { FacebookIcon, TwitterIcon, LinkedinIcon } from "react-share" + +import { SharePopupHelper } from "./SharePopup" + +describe("SharePopup", () => { + let closePopupStub, execCommandStub, url, sandbox + + // unfortunately have to use mount to get the ref to work + const renderSharePopupHelper = (props = {}) => + mount() + + beforeEach(() => { + sandbox = sinon.sandbox.create() + closePopupStub = sandbox.stub() + execCommandStub = sandbox.stub() + // $FlowFixMe: flow thinks this isn't writable (normally that's true!) + document.execCommand = execCommandStub + url = "http://en.wikipedia.org" + }) + + afterEach(() => { + sandbox.restore() + }) + + it("should have a handleClickOutside handler", () => { + const wrapper = renderSharePopupHelper() + assert.isFunction(wrapper.instance().handleClickOutside) + wrapper.instance().handleClickOutside() + assert.ok(closePopupStub.called) + }) + + it("should set a ref to the input", () => { + const wrapper = renderSharePopupHelper() + assert.isTrue(wrapper.instance().input.current instanceof HTMLInputElement) + }) + + it("should populate the input field with the value of the url prop", () => { + assert.equal( + url, + renderSharePopupHelper() + .find("input") + .props().value + ) + }) + + it("should select text in the input field", () => { + const wrapperInstance = renderSharePopupHelper().instance() + const selectStub = sandbox.stub(wrapperInstance.input.current, "select") + const fakeEvent = { preventDefault: sandbox.stub() } + wrapperInstance.selectInputText(fakeEvent) + assert.ok(selectStub.called) + assert.ok(fakeEvent.preventDefault.called) + assert.ok(execCommandStub.calledWith("copy")) + }) + + it("should include the share buttons we expect", () => { + const wrapper = renderSharePopupHelper() + ;[ + [FacebookShareButton, FacebookIcon], + [LinkedinShareButton, LinkedinIcon], + [TwitterShareButton, TwitterIcon] + ].forEach(([button, icon]) => { + const buttonEl = wrapper.find(button) + assert.ok(buttonEl.exists()) + assert.ok(buttonEl.find(icon).exists()) + }) + }) + + it("should hide buttons, if hideSocialButtons === true", () => { + const wrapper = renderSharePopupHelper({ hideSocialButtons: true }) + ;[FacebookShareButton, LinkedinShareButton, TwitterShareButton].forEach( + button => assert.isNotOk(wrapper.find(button).exists()) + ) + }) +}) diff --git a/static/js/components/UserMenu.js b/static/js/components/UserMenu.js index 1f37aa429f..ed10451488 100644 --- a/static/js/components/UserMenu.js +++ b/static/js/components/UserMenu.js @@ -4,7 +4,7 @@ import React from "react" import { Link } from "react-router-dom" import DropdownMenu from "./DropdownMenu" -import ProfileImage from "../containers/ProfileImage" +import ProfileImage, { PROFILE_IMAGE_SMALL } from "../containers/ProfileImage" import { isProfileComplete } from "../lib/util" import { profileURL, SETTINGS_URL } from "../lib/url" @@ -25,10 +25,10 @@ export default class UserMenu extends React.Component<*, *> {
    {SETTINGS.profile_ui_enabled && !isProfileComplete(profile) ? (
    diff --git a/static/js/containers/PostPage.js b/static/js/containers/PostPage.js index 59a4e73a09..95eba35195 100644 --- a/static/js/containers/PostPage.js +++ b/static/js/containers/PostPage.js @@ -27,7 +27,11 @@ import { ChannelBreadcrumbs } from "../components/ChannelBreadcrumbs" import { CommentSortPicker } from "../components/SortPicker" import { updateCommentSortParam, COMMENT_SORT_BEST } from "../lib/sorting" -import { formatCommentsCount } from "../lib/posts" +import { + formatCommentsCount, + getPostDropdownMenuKey, + postMenuDropdownFuncs +} from "../lib/posts" import { validateContentReportForm } from "../lib/validation" import { actions } from "../actions" import { replaceMoreComments } from "../actions/comment" @@ -65,6 +69,7 @@ import { REPORT_CONTENT_PAYLOAD } from "../lib/reports" import { ensureTwitterEmbedJS, handleTwitterWidgets } from "../lib/embed" +import { showDropdown, hideDropdownDebounced } from "../actions/ui" import type { Dispatch } from "redux" import type { Match, Location } from "react-router" @@ -107,7 +112,9 @@ type PostPageProps = { removeComment: (c: Comment) => void, location: Location, reportPost: (p: Post) => void, - embedly: Object + embedly: Object, + postShareMenuOpen: boolean, + postDropdownMenuOpen: boolean } const DELETE_POST_DIALOG = "DELETE_POST_DIALOG" @@ -116,6 +123,8 @@ const DELETE_COMMENT_DIALOG = "DELETE_COMMENT_DIALOG" const REPORT_POST_DIALOG = "REPORT_POST_DIALOG" const REPORT_COMMENT_DIALOG = "REPORT_COMMENT_DIALOG" +const POST_SHARE_MENU_KEY = "POST_SHARE_MENU_KEY" + // if postId, channelName, or commentID don't match const shouldLoadData = R.complement( R.allPass([ @@ -126,9 +135,7 @@ const shouldLoadData = R.complement( ]) ) -class PostPage extends React.Component<*, void> { - props: PostPageProps - +class PostPage extends React.Component { componentDidMount() { this.loadData() @@ -309,6 +316,16 @@ class PostPage extends React.Component<*, void> { } } + showPostShareMenu = () => { + const { dispatch } = this.props + dispatch(showDropdown(POST_SHARE_MENU_KEY)) + } + + hidePostShareMenu = () => { + const { dispatch } = this.props + dispatch(hideDropdownDebounced(POST_SHARE_MENU_KEY)) + } + render() { const { dispatch, @@ -328,13 +345,17 @@ class PostPage extends React.Component<*, void> { approveComment, location: { search }, embedly, - reportPost + reportPost, + postDropdownMenuOpen, + postShareMenuOpen } = this.props if (!channel) { return null } + const { showPostMenu, hidePostMenu } = postMenuDropdownFuncs(dispatch, post) + const reportForm = getReportForm(forms) const showPermalinkUI = R.not(R.isNil(commentID)) @@ -397,6 +418,13 @@ class PostPage extends React.Component<*, void> { showPermalinkUI={showPermalinkUI} toggleFollowPost={toggleFollowPost(dispatch)} embedly={embedly} + postDropdownMenuOpen={postDropdownMenuOpen} + showPostMenu={showPostMenu} + hidePostMenu={hidePostMenu} + showPostShareMenu={this.showPostShareMenu} + hidePostShareMenu={this.hidePostShareMenu} + postShareMenuOpen={postShareMenuOpen} + channel={channel} /> {showPermalinkUI || userIsAnonymous() ? null : ( { ? true : R.none(R.isNil, [post, channel, commentsTree]) + const postDropdownMenuOpen = post + ? ui.dropdownMenus.has(getPostDropdownMenuKey(post)) + : false + + const postShareMenuOpen = ui.dropdownMenus.has(POST_SHARE_MENU_KEY) + return { ...postModerationSelector(state, ownProps), ...commentModerationSelector(state, ownProps), @@ -486,6 +520,8 @@ const mapStateToProps = (state, ownProps) => { loaded, notFound, notAuthorized, + postDropdownMenuOpen, + postShareMenuOpen, isModerator: isModerator(moderators, SETTINGS.username), errored: anyErrorExcept404([posts, channels]) || diff --git a/static/js/containers/ProfileImage.js b/static/js/containers/ProfileImage.js index d6eaa0c882..3648cb6310 100644 --- a/static/js/containers/ProfileImage.js +++ b/static/js/containers/ProfileImage.js @@ -23,22 +23,31 @@ import type { Dispatch } from "redux" const formatPhotoName = photo => `${photo.name.replace(/\.\w*$/, "")}.jpg` -class ProfileImage extends React.Component<*> { - props: { - clearPhotoEdit: () => void, - dispatch: Dispatch, - editable: boolean, - imageUpload: Object, - photoDialogOpen: boolean, - profile: Profile, - userName: string, - setPhotoError: (s: string) => void, - startPhotoEdit: (p: File) => void, - updatePhotoEdit: (b: Blob) => void, - useSmall?: boolean, - onClick?: Function - } +export const PROFILE_IMAGE_MICRO: "micro" = "micro" +export const PROFILE_IMAGE_SMALL: "small" = "small" +export const PROFILE_IMAGE_MEDIUM: "medium" = "medium" + +type ImageSize = + | typeof PROFILE_IMAGE_MICRO + | typeof PROFILE_IMAGE_SMALL + | typeof PROFILE_IMAGE_MEDIUM + +type ProfileImageProps = { + clearPhotoEdit: () => void, + dispatch: Dispatch, + editable: boolean, + imageUpload: Object, + photoDialogOpen: boolean, + profile: Profile, + userName?: ?string, + setPhotoError: (s: string) => void, + startPhotoEdit: (p: File) => void, + updatePhotoEdit: (b: Blob) => void, + imageSize: ImageSize, + onClick?: Function +} +class ProfileImage extends React.Component { static defaultProps = { editable: false } @@ -51,11 +60,13 @@ class ProfileImage extends React.Component<*> { userName } = this.props - await dispatch(updateProfilePhoto(userName, edit, formatPhotoName(photo))) + if (userName) { + await dispatch(updateProfilePhoto(userName, edit, formatPhotoName(photo))) - clearPhotoEdit() - this.setDialogVisibility(false) - dispatch(actions.profiles.get(userName)) + clearPhotoEdit() + this.setDialogVisibility(false) + dispatch(actions.profiles.get(userName)) + } } setDialogVisibility = (visibility: boolean) => { @@ -68,10 +79,12 @@ class ProfileImage extends React.Component<*> { } render() { - const { profile, useSmall, editable, onClick } = this.props + const { profile, imageSize, editable, onClick } = this.props - const imageUrl = makeProfileImageUrl(profile, useSmall) - const imageSizeClass = useSmall ? "small" : "medium" + const imageUrl = makeProfileImageUrl( + profile, + imageSize === "micro" || imageSize === "small" + ) return (
    @@ -79,8 +92,8 @@ class ProfileImage extends React.Component<*> { {imageUrl.endsWith(defaultProfileImageUrl) && profile && profile.name ? ( -
    -
    +
    +
    {initials(profile.name)}
    @@ -88,7 +101,7 @@ class ProfileImage extends React.Component<*> { {`Profile )} {editable ? ( @@ -132,7 +145,7 @@ const mapStateToProps = state => { } } -const mapDispatchToProps = dispatch => ({ +const mapDispatchToProps = (dispatch: Dispatch<*>) => ({ startPhotoEdit: createActionHelper(dispatch, startPhotoEdit), clearPhotoEdit: createActionHelper(dispatch, clearPhotoEdit), updatePhotoEdit: createActionHelper(dispatch, updatePhotoEdit), diff --git a/static/js/containers/ProfileImage_test.js b/static/js/containers/ProfileImage_test.js index 9a3edade1e..eada5bea7c 100644 --- a/static/js/containers/ProfileImage_test.js +++ b/static/js/containers/ProfileImage_test.js @@ -4,13 +4,19 @@ import { mount } from "enzyme" import { assert } from "chai" import { Provider } from "react-redux" -import ProfileImage from "./ProfileImage" +import ProfileImage, { + PROFILE_IMAGE_MICRO, + PROFILE_IMAGE_SMALL, + PROFILE_IMAGE_MEDIUM +} from "./ProfileImage" import IntegrationTestHelper from "../util/integration_test_helper" import { startPhotoEdit } from "../actions/image_upload" +import { defaultProfileImageUrl } from "../lib/util" +import * as utilFuncs from "../lib/util" describe("ProfileImage", () => { - let helper, div + let helper, div, makeProfileImageUrlStub const thatProfile = { name: "test_name", @@ -43,6 +49,9 @@ describe("ProfileImage", () => { SETTINGS.username = thatProfile.username helper.patchProfileImageStub.returns(Promise.resolve("")) helper.getProfileStub.returns(Promise.resolve(thatProfile)) + makeProfileImageUrlStub = helper.sandbox + .stub(utilFuncs, "makeProfileImageUrl") + .returns(defaultProfileImageUrl) }) afterEach(() => { @@ -69,7 +78,8 @@ describe("ProfileImage", () => { describe("save button", () => { it("should call patchProfileImageStub when the save button is pressed", () => { const image = renderProfileImage({ - editable: true + editable: true, + userName: "a username" }) helper.store.dispatch(startPhotoEdit({ name: "a name" })) image @@ -81,6 +91,7 @@ describe("ProfileImage", () => { saveButton.simulate("click") assert.isTrue(helper.patchProfileImageStub.called) }) + it("should not be visible if no photo is selected", () => { const image = renderProfileImage({ editable: true @@ -94,4 +105,30 @@ describe("ProfileImage", () => { }) }) }) + + it("should set imageSize as a className", () => { + [PROFILE_IMAGE_MICRO, PROFILE_IMAGE_SMALL, PROFILE_IMAGE_MEDIUM].forEach( + imageSize => { + const image = renderProfileImage({ + imageSize + }) + assert.include( + image.find(".profile-image").props().className, + imageSize + ) + } + ) + }) + + // + ;[ + [PROFILE_IMAGE_MICRO, true], + [PROFILE_IMAGE_SMALL, true], + [PROFILE_IMAGE_MEDIUM, false] + ].forEach(([imageSize, exp]) => { + it(`should call makeProfileImageUrl with ${exp} if imageSize is ${imageSize}`, () => { + renderProfileImage({ imageSize }) + assert.ok(makeProfileImageUrlStub.calledWith(thatProfile, exp)) + }) + }) }) diff --git a/static/js/containers/ProfilePage.js b/static/js/containers/ProfilePage.js index 0f284aca17..c4faa9d6ac 100644 --- a/static/js/containers/ProfilePage.js +++ b/static/js/containers/ProfilePage.js @@ -6,7 +6,7 @@ import R from "ramda" import DocumentTitle from "react-document-title" import Card from "../components/Card" -import ProfileImage from "./ProfileImage" +import ProfileImage, { PROFILE_IMAGE_MEDIUM } from "./ProfileImage" import withLoading from "../components/Loading" import withSingleColumn from "../hoc/withSingleColumn" @@ -74,7 +74,7 @@ class ProfilePage extends React.Component<*, void> { profile={profile} userName={userName} editable={editable} - useSmall={false} + imageSize={PROFILE_IMAGE_MEDIUM} />
    diff --git a/static/js/lib/posts.js b/static/js/lib/posts.js index af507ae48f..16bec294a4 100644 --- a/static/js/lib/posts.js +++ b/static/js/lib/posts.js @@ -6,7 +6,9 @@ import ReactTooltip from "react-tooltip" import { postDetailURL, urlHostname } from "./url" import { userIsAnonymous, votingTooltipText } from "./util" +import { showDropdown, hideDropdownDebounced } from "../actions/ui" +import type { Dispatch } from "redux" import type { PostForm, Post, @@ -139,3 +141,15 @@ export class PostVotingButtons extends React.Component<*, *> { ) } } + +// a shared function which provides a showPostMenu and hidePostMenu +// function, for showing and hiding a post menu dropdown (we use on the +// detail and list pages) +export const postMenuDropdownFuncs = (dispatch: Dispatch<*>, post: Post) => { + const postMenuKey = getPostDropdownMenuKey(post) + + return { + showPostMenu: () => dispatch(showDropdown(postMenuKey)), + hidePostMenu: () => dispatch(hideDropdownDebounced(postMenuKey)) + } +} diff --git a/static/js/lib/profile.js b/static/js/lib/profile.js index e6f1189bfa..e45d09c248 100644 --- a/static/js/lib/profile.js +++ b/static/js/lib/profile.js @@ -1,9 +1,23 @@ // @flow import R from "ramda" +import type { Profile } from "../flow/discussionTypes" + export const initials = R.pipe( R.split(/\s+/), R.slice(0, 2), R.map(item => (item ? item[0].toUpperCase() : "")), R.join("") ) + +export const makeProfile = (props: Object): Profile => ({ + image: null, + image_small: null, + image_medium: null, + image_file: null, + image_small_file: null, + image_medium_file: null, + bio: null, + headline: null, + ...props +}) diff --git a/static/js/lib/url.js b/static/js/lib/url.js index fbdd16c4ba..fb1dfc477e 100644 --- a/static/js/lib/url.js +++ b/static/js/lib/url.js @@ -2,6 +2,8 @@ import R from "ramda" import qs from "query-string" +import type { Post } from "../flow/discussionTypes" + export const channelURL = (channelName: string) => `/channel/${channelName}` export const channelModerationURL = (channelName: string) => @@ -31,6 +33,12 @@ export const commentPermalink = R.curry( `${postDetailURL(channelName, postID, postSlug)}/comment/${commentID}/` ) +export const postPermalink = (post: Post): string => + new URL( + postDetailURL(post.channel_name, post.id), + window.location.origin + ).toString() + // pull the channel name out of location.pathname // see here for why this hackish approach was necessary: // https://github.com/mitodl/open-discussions/pull/118#discussion_r135284591 diff --git a/static/js/lib/url_test.js b/static/js/lib/url_test.js index 8286937f66..92ecb0e48a 100644 --- a/static/js/lib/url_test.js +++ b/static/js/lib/url_test.js @@ -11,8 +11,10 @@ import { commentPermalink, toQueryString, urlHostname, - channelModerationURL + channelModerationURL, + postPermalink } from "./url" +import { makePost } from "../factories/posts" describe("url helper functions", () => { describe("channelURL", () => { @@ -145,4 +147,13 @@ describe("url helper functions", () => { }) }) }) + + describe("postPermalink", () => { + it("should return a good url", () => { + const post = makePost() + const url = postPermalink(post) + assert.ok(url.startsWith(window.location.origin)) + assert.ok(url.includes(postDetailURL(post.channel_name, post.id))) + }) + }) }) diff --git a/static/scss/auth.scss b/static/scss/auth.scss index b86e1d2bb8..668a3518b1 100644 --- a/static/scss/auth.scss +++ b/static/scss/auth.scss @@ -1,4 +1,3 @@ - .app { .auth-page { form { diff --git a/static/scss/layout.scss b/static/scss/layout.scss index 69577f58a4..30f142a563 100644 --- a/static/scss/layout.scss +++ b/static/scss/layout.scss @@ -41,6 +41,7 @@ @import "drawer"; @import "dropdown-menu"; @import "auth"; +@import "share-popup"; body { font-family: 'Roboto', helvetica, arial, sans-serif !important; diff --git a/static/scss/post.scss b/static/scss/post.scss index 48095781d7..5539956be6 100644 --- a/static/scss/post.scss +++ b/static/scss/post.scss @@ -11,6 +11,26 @@ font-size: 15px; } +.comments-and-menu, .post-actions { + // to make the user-menu live in it correctly + position: relative; + display: flex; + align-items: center; + + > * { + color: $font-grey-light; + } + + i { + cursor: pointer; + } + + .dropdown-menu { + top: 22px; + right: 11px; + } +} + .compact-post-summary { a { color: $font-black; @@ -56,34 +76,16 @@ } .comments-and-menu { - display: flex; - align-items: center; - - // to make the user-menu live in it correctly - position: relative; - - > * { - color: $font-grey-light; - } - - i { - cursor: pointer; - } - .comment-link { display: flex; align-items: center; margin-right: 8px; + color: $font-grey-light; i { margin-right: 11px; } } - - .dropdown-menu { - top: 22px; - right: 11px; - } } } } @@ -146,7 +148,6 @@ } .profile-image { - margin-right: 15px; flex-shrink: 0; } @@ -186,7 +187,7 @@ .expanded { .post-title { - font-size: 20px; + font-size: 28px; font-weight: 400; margin: 7px 0 9px; @@ -195,9 +196,59 @@ } } + .post-actions { + justify-content: space-between; + + .right { + display: flex; + position: relative; + + .post-action { + cursor: pointer; + display: flex; + align-items: center; + margin: 0 13px; + + &.share-action { + position: relative; + + > div:not(.share-popup) { + display: flex; + align-items: center; + } + } + + i { + margin-right: 2px; + } + + @include breakpoint(phone) { + margin: 0 5px; + } + } + } + } + .authored-by { font-size: 14px; color: black; + display: flex; + justify-content: space-between; + align-items: center; + margin: 20px 0; + + .profile-image-container { + padding: 0 10px 0 0; + } + + .left { + display: flex; + align-items: center; + } + + .right { + color: $font-grey; + } span.author-name { font-weight: 500; diff --git a/static/scss/profile-image.scss b/static/scss/profile-image.scss index b3ee1b5cfe..0933967519 100644 --- a/static/scss/profile-image.scss +++ b/static/scss/profile-image.scss @@ -8,6 +8,12 @@ overflow: hidden; } +.micro { + width: 25px; + height: 25px; + font-size: 12px; +} + .small { width: 45px; height: 45px; diff --git a/static/scss/share-popup.scss b/static/scss/share-popup.scss new file mode 100644 index 0000000000..9a8e2e50fe --- /dev/null +++ b/static/scss/share-popup.scss @@ -0,0 +1,48 @@ +.share-popup { + position: absolute; + background: white; + top: 30px; + right: -109px; + box-shadow: 0 0 20px $card-shadow; + padding: 12px; + min-width: 250px; + + .triangle { + width: 15px; + height: 15px; + position: absolute; + top: -7px; + background: white; + transform: rotate(45deg); + right: 50%; + } + + .share-title { + color: $font-black; + margin-bottom: 2px; + } + + input { + width: 100%; + box-sizing: border-box; + } + + .bottom-row { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 5px; + + .share-buttons { + display: flex; + + > div { + margin-right: 3px; + } + } + + .copy-url { + font-size: 12px; + } + } +} diff --git a/yarn.lock b/yarn.lock index c20e58cbb3..519c1d7926 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1524,7 +1524,7 @@ babel-register@^6.26.0: mkdirp "^0.5.1" source-map-support "^0.4.15" -babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.6.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: @@ -2497,7 +2497,7 @@ debug@3.1.0, debug@^3.1.0: dependencies: ms "2.0.0" -debug@^2.1.1, debug@^2.6.8: +debug@^2.1.1, debug@^2.1.3, debug@^2.6.8: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: @@ -4510,6 +4510,12 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" +jsonp@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/jsonp/-/jsonp-0.2.1.tgz#a65b4fa0f10bda719a05441ea7b94c55f3e15bae" + dependencies: + debug "^2.1.3" + jsonpointer@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" @@ -6286,6 +6292,15 @@ react-router@^4.1.1: prop-types "^15.5.4" warning "^3.0.0" +react-share@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/react-share/-/react-share-2.2.0.tgz#49fa2525409a030d94375f8b9926b0db916c3049" + dependencies: + babel-runtime "^6.6.1" + classnames "^2.2.5" + jsonp "^0.2.1" + prop-types "^15.5.8" + react-side-effect@^1.0.2: version "1.1.3" resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-1.1.3.tgz#512c25abe0dec172834c4001ec5c51e04d41bc5c"