summaryrefslogtreecommitdiff
path: root/tiny-warning/flow-typed
diff options
context:
space:
mode:
Diffstat (limited to 'tiny-warning/flow-typed')
-rw-r--r--tiny-warning/flow-typed/npm/@babel/core_vx.x.x.js305
-rw-r--r--tiny-warning/flow-typed/npm/@babel/preset-env_vx.x.x.js144
-rw-r--r--tiny-warning/flow-typed/npm/@babel/preset-flow_vx.x.x.js32
-rw-r--r--tiny-warning/flow-typed/npm/flow-bin_v0.x.x.js6
-rw-r--r--tiny-warning/flow-typed/npm/jest_v23.x.x.js1146
-rw-r--r--tiny-warning/flow-typed/npm/prettier_v1.x.x.js178
-rw-r--r--tiny-warning/flow-typed/npm/rimraf_v2.x.x.js18
-rw-r--r--tiny-warning/flow-typed/npm/rollup-plugin-babel_vx.x.x.js74
-rw-r--r--tiny-warning/flow-typed/npm/rollup-plugin-replace_vx.x.x.js46
-rw-r--r--tiny-warning/flow-typed/npm/rollup-plugin-uglify_vx.x.x.js38
-rw-r--r--tiny-warning/flow-typed/npm/rollup_vx.x.x.js46
11 files changed, 2033 insertions, 0 deletions
diff --git a/tiny-warning/flow-typed/npm/@babel/core_vx.x.x.js b/tiny-warning/flow-typed/npm/@babel/core_vx.x.x.js
new file mode 100644
index 0000000..9572db5
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/@babel/core_vx.x.x.js
@@ -0,0 +1,305 @@
+// flow-typed signature: afb3994794f3c2f840f54e3cb3826ce7
+// flow-typed version: <<STUB>>/@babel/core_v^7.1.2/flow_v0.82.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * '@babel/core'
+ *
+ * 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 '@babel/core' {
+ 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 '@babel/core/lib/config/caching' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/config-chain' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/config-descriptors' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/files/configuration' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/files/index-browser' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/files/index' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/files/package' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/files/plugins' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/files/types' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/files/utils' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/full' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/helpers/config-api' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/helpers/environment' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/index' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/item' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/partial' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/pattern-to-regex' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/plugin' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/util' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/validation/option-assertions' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/validation/options' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/validation/plugins' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/config/validation/removed' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/index' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/parse' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/tools/build-external-helpers' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transform-ast' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transform-file-browser' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transform-file-sync-browser' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transform-file' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transform' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transformation/block-hoist-plugin' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transformation/file/file' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transformation/file/generate' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transformation/file/merge-map' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transformation/index' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transformation/normalize-file' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transformation/normalize-opts' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transformation/plugin-pass' {
+ declare module.exports: any;
+}
+
+declare module '@babel/core/lib/transformation/util/missing-plugin-helper' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module '@babel/core/lib/config/caching.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/caching'>;
+}
+declare module '@babel/core/lib/config/config-chain.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/config-chain'>;
+}
+declare module '@babel/core/lib/config/config-descriptors.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/config-descriptors'>;
+}
+declare module '@babel/core/lib/config/files/configuration.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/files/configuration'>;
+}
+declare module '@babel/core/lib/config/files/index-browser.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/files/index-browser'>;
+}
+declare module '@babel/core/lib/config/files/index.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/files/index'>;
+}
+declare module '@babel/core/lib/config/files/package.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/files/package'>;
+}
+declare module '@babel/core/lib/config/files/plugins.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/files/plugins'>;
+}
+declare module '@babel/core/lib/config/files/types.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/files/types'>;
+}
+declare module '@babel/core/lib/config/files/utils.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/files/utils'>;
+}
+declare module '@babel/core/lib/config/full.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/full'>;
+}
+declare module '@babel/core/lib/config/helpers/config-api.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/helpers/config-api'>;
+}
+declare module '@babel/core/lib/config/helpers/environment.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/helpers/environment'>;
+}
+declare module '@babel/core/lib/config/index.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/index'>;
+}
+declare module '@babel/core/lib/config/item.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/item'>;
+}
+declare module '@babel/core/lib/config/partial.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/partial'>;
+}
+declare module '@babel/core/lib/config/pattern-to-regex.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/pattern-to-regex'>;
+}
+declare module '@babel/core/lib/config/plugin.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/plugin'>;
+}
+declare module '@babel/core/lib/config/util.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/util'>;
+}
+declare module '@babel/core/lib/config/validation/option-assertions.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/validation/option-assertions'>;
+}
+declare module '@babel/core/lib/config/validation/options.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/validation/options'>;
+}
+declare module '@babel/core/lib/config/validation/plugins.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/validation/plugins'>;
+}
+declare module '@babel/core/lib/config/validation/removed.js' {
+ declare module.exports: $Exports<'@babel/core/lib/config/validation/removed'>;
+}
+declare module '@babel/core/lib/index.js' {
+ declare module.exports: $Exports<'@babel/core/lib/index'>;
+}
+declare module '@babel/core/lib/parse.js' {
+ declare module.exports: $Exports<'@babel/core/lib/parse'>;
+}
+declare module '@babel/core/lib/tools/build-external-helpers.js' {
+ declare module.exports: $Exports<'@babel/core/lib/tools/build-external-helpers'>;
+}
+declare module '@babel/core/lib/transform-ast.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transform-ast'>;
+}
+declare module '@babel/core/lib/transform-file-browser.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transform-file-browser'>;
+}
+declare module '@babel/core/lib/transform-file-sync-browser.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transform-file-sync-browser'>;
+}
+declare module '@babel/core/lib/transform-file.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transform-file'>;
+}
+declare module '@babel/core/lib/transform.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transform'>;
+}
+declare module '@babel/core/lib/transformation/block-hoist-plugin.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transformation/block-hoist-plugin'>;
+}
+declare module '@babel/core/lib/transformation/file/file.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transformation/file/file'>;
+}
+declare module '@babel/core/lib/transformation/file/generate.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transformation/file/generate'>;
+}
+declare module '@babel/core/lib/transformation/file/merge-map.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transformation/file/merge-map'>;
+}
+declare module '@babel/core/lib/transformation/index.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transformation/index'>;
+}
+declare module '@babel/core/lib/transformation/normalize-file.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transformation/normalize-file'>;
+}
+declare module '@babel/core/lib/transformation/normalize-opts.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transformation/normalize-opts'>;
+}
+declare module '@babel/core/lib/transformation/plugin-pass.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transformation/plugin-pass'>;
+}
+declare module '@babel/core/lib/transformation/util/missing-plugin-helper.js' {
+ declare module.exports: $Exports<'@babel/core/lib/transformation/util/missing-plugin-helper'>;
+}
diff --git a/tiny-warning/flow-typed/npm/@babel/preset-env_vx.x.x.js b/tiny-warning/flow-typed/npm/@babel/preset-env_vx.x.x.js
new file mode 100644
index 0000000..6842b1e
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/@babel/preset-env_vx.x.x.js
@@ -0,0 +1,144 @@
+// flow-typed signature: 343a2e6303af4218fd9eaaabea788b8b
+// flow-typed version: <<STUB>>/@babel/preset-env_v^7.1.0/flow_v0.82.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * '@babel/preset-env'
+ *
+ * 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 '@babel/preset-env' {
+ 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 '@babel/preset-env/data/built-in-features' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/data/plugin-features' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/data/shipped-proposals' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/data/unreleased-labels' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/available-plugins' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/built-in-definitions' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/debug' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/default-includes' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/defaults' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/index' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/module-transformations' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/normalize-options' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/options' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/targets-parser' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/use-built-ins-entry-plugin' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/use-built-ins-plugin' {
+ declare module.exports: any;
+}
+
+declare module '@babel/preset-env/lib/utils' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module '@babel/preset-env/data/built-in-features.js' {
+ declare module.exports: $Exports<'@babel/preset-env/data/built-in-features'>;
+}
+declare module '@babel/preset-env/data/plugin-features.js' {
+ declare module.exports: $Exports<'@babel/preset-env/data/plugin-features'>;
+}
+declare module '@babel/preset-env/data/shipped-proposals.js' {
+ declare module.exports: $Exports<'@babel/preset-env/data/shipped-proposals'>;
+}
+declare module '@babel/preset-env/data/unreleased-labels.js' {
+ declare module.exports: $Exports<'@babel/preset-env/data/unreleased-labels'>;
+}
+declare module '@babel/preset-env/lib/available-plugins.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/available-plugins'>;
+}
+declare module '@babel/preset-env/lib/built-in-definitions.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/built-in-definitions'>;
+}
+declare module '@babel/preset-env/lib/debug.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/debug'>;
+}
+declare module '@babel/preset-env/lib/default-includes.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/default-includes'>;
+}
+declare module '@babel/preset-env/lib/defaults.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/defaults'>;
+}
+declare module '@babel/preset-env/lib/index.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/index'>;
+}
+declare module '@babel/preset-env/lib/module-transformations.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/module-transformations'>;
+}
+declare module '@babel/preset-env/lib/normalize-options.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/normalize-options'>;
+}
+declare module '@babel/preset-env/lib/options.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/options'>;
+}
+declare module '@babel/preset-env/lib/targets-parser.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/targets-parser'>;
+}
+declare module '@babel/preset-env/lib/use-built-ins-entry-plugin.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/use-built-ins-entry-plugin'>;
+}
+declare module '@babel/preset-env/lib/use-built-ins-plugin.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/use-built-ins-plugin'>;
+}
+declare module '@babel/preset-env/lib/utils.js' {
+ declare module.exports: $Exports<'@babel/preset-env/lib/utils'>;
+}
diff --git a/tiny-warning/flow-typed/npm/@babel/preset-flow_vx.x.x.js b/tiny-warning/flow-typed/npm/@babel/preset-flow_vx.x.x.js
new file mode 100644
index 0000000..c3fcd98
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/@babel/preset-flow_vx.x.x.js
@@ -0,0 +1,32 @@
+// flow-typed signature: 11744c4d4bc0cb7b5a5c5272f94dc84b
+// flow-typed version: <<STUB>>/@babel/preset-flow_v^7.0.0/flow_v0.82.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * '@babel/preset-flow'
+ *
+ * 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 '@babel/preset-flow' {
+ 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 '@babel/preset-flow/lib/index' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module '@babel/preset-flow/lib/index.js' {
+ declare module.exports: $Exports<'@babel/preset-flow/lib/index'>;
+}
diff --git a/tiny-warning/flow-typed/npm/flow-bin_v0.x.x.js b/tiny-warning/flow-typed/npm/flow-bin_v0.x.x.js
new file mode 100644
index 0000000..c538e20
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/flow-bin_v0.x.x.js
@@ -0,0 +1,6 @@
+// flow-typed signature: 6a5610678d4b01e13bbfbbc62bdaf583
+// flow-typed version: 3817bc6980/flow-bin_v0.x.x/flow_>=v0.25.x
+
+declare module "flow-bin" {
+ declare module.exports: string;
+}
diff --git a/tiny-warning/flow-typed/npm/jest_v23.x.x.js b/tiny-warning/flow-typed/npm/jest_v23.x.x.js
new file mode 100644
index 0000000..dbfc9b6
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/jest_v23.x.x.js
@@ -0,0 +1,1146 @@
+// flow-typed signature: 691597c4a5aab83a3b2e6d9ccd01a97d
+// flow-typed version: 71534a866d/jest_v23.x.x/flow_>=v0.39.x
+
+type JestMockFn<TArguments: $ReadOnlyArray<*>, TReturn> = {
+ (...args: TArguments): TReturn,
+ /**
+ * An object for introspecting mock calls
+ */
+ mock: {
+ /**
+ * An array that represents all calls that have been made into this mock
+ * function. Each call is represented by an array of arguments that were
+ * passed during the call.
+ */
+ calls: Array<TArguments>,
+ /**
+ * An array that contains all the object instances that have been
+ * instantiated from this mock function.
+ */
+ instances: Array<TReturn>,
+ /**
+ * An array that contains all the object results that have been
+ * returned by this mock function call
+ */
+ results: Array<{ isThrow: boolean, value: TReturn }>
+ },
+ /**
+ * Resets all information stored in the mockFn.mock.calls and
+ * mockFn.mock.instances arrays. Often this is useful when you want to clean
+ * up a mock's usage data between two assertions.
+ */
+ mockClear(): void,
+ /**
+ * Resets all information stored in the mock. This is useful when you want to
+ * completely restore a mock back to its initial state.
+ */
+ mockReset(): void,
+ /**
+ * Removes the mock and restores the initial implementation. This is useful
+ * when you want to mock functions in certain test cases and restore the
+ * original implementation in others. Beware that mockFn.mockRestore only
+ * works when mock was created with jest.spyOn. Thus you have to take care of
+ * restoration yourself when manually assigning jest.fn().
+ */
+ mockRestore(): void,
+ /**
+ * Accepts a function that should be used as the implementation of the mock.
+ * The mock itself will still record all calls that go into and instances
+ * that come from itself -- the only difference is that the implementation
+ * will also be executed when the mock is called.
+ */
+ mockImplementation(
+ fn: (...args: TArguments) => TReturn
+ ): JestMockFn<TArguments, TReturn>,
+ /**
+ * Accepts a function that will be used as an implementation of the mock for
+ * one call to the mocked function. Can be chained so that multiple function
+ * calls produce different results.
+ */
+ mockImplementationOnce(
+ fn: (...args: TArguments) => TReturn
+ ): JestMockFn<TArguments, TReturn>,
+ /**
+ * Accepts a string to use in test result output in place of "jest.fn()" to
+ * indicate which mock function is being referenced.
+ */
+ mockName(name: string): JestMockFn<TArguments, TReturn>,
+ /**
+ * Just a simple sugar function for returning `this`
+ */
+ mockReturnThis(): void,
+ /**
+ * Accepts a value that will be returned whenever the mock function is called.
+ */
+ mockReturnValue(value: TReturn): JestMockFn<TArguments, TReturn>,
+ /**
+ * Sugar for only returning a value once inside your mock
+ */
+ mockReturnValueOnce(value: TReturn): JestMockFn<TArguments, TReturn>,
+ /**
+ * Sugar for jest.fn().mockImplementation(() => Promise.resolve(value))
+ */
+ mockResolvedValue(value: TReturn): JestMockFn<TArguments, Promise<TReturn>>,
+ /**
+ * Sugar for jest.fn().mockImplementationOnce(() => Promise.resolve(value))
+ */
+ mockResolvedValueOnce(value: TReturn): JestMockFn<TArguments, Promise<TReturn>>,
+ /**
+ * Sugar for jest.fn().mockImplementation(() => Promise.reject(value))
+ */
+ mockRejectedValue(value: TReturn): JestMockFn<TArguments, Promise<any>>,
+ /**
+ * Sugar for jest.fn().mockImplementationOnce(() => Promise.reject(value))
+ */
+ mockRejectedValueOnce(value: TReturn): JestMockFn<TArguments, Promise<any>>
+};
+
+type JestAsymmetricEqualityType = {
+ /**
+ * A custom Jasmine equality tester
+ */
+ asymmetricMatch(value: mixed): boolean
+};
+
+type JestCallsType = {
+ allArgs(): mixed,
+ all(): mixed,
+ any(): boolean,
+ count(): number,
+ first(): mixed,
+ mostRecent(): mixed,
+ reset(): void
+};
+
+type JestClockType = {
+ install(): void,
+ mockDate(date: Date): void,
+ tick(milliseconds?: number): void,
+ uninstall(): void
+};
+
+type JestMatcherResult = {
+ message?: string | (() => string),
+ pass: boolean
+};
+
+type JestMatcher = (actual: any, expected: any) =>
+ | JestMatcherResult
+ | Promise<JestMatcherResult>;
+
+type JestPromiseType = {
+ /**
+ * Use rejects to unwrap the reason of a rejected promise so any other
+ * matcher can be chained. If the promise is fulfilled the assertion fails.
+ */
+ rejects: JestExpectType,
+ /**
+ * Use resolves to unwrap the value of a fulfilled promise so any other
+ * matcher can be chained. If the promise is rejected the assertion fails.
+ */
+ resolves: JestExpectType
+};
+
+/**
+ * Jest allows functions and classes to be used as test names in test() and
+ * describe()
+ */
+type JestTestName = string | Function;
+
+/**
+ * Plugin: jest-styled-components
+ */
+
+type JestStyledComponentsMatcherValue =
+ | string
+ | JestAsymmetricEqualityType
+ | RegExp
+ | typeof undefined;
+
+type JestStyledComponentsMatcherOptions = {
+ media?: string;
+ modifier?: string;
+ supports?: string;
+}
+
+type JestStyledComponentsMatchersType = {
+ toHaveStyleRule(
+ property: string,
+ value: JestStyledComponentsMatcherValue,
+ options?: JestStyledComponentsMatcherOptions
+ ): void,
+};
+
+/**
+ * Plugin: jest-enzyme
+ */
+type EnzymeMatchersType = {
+ // 5.x
+ toBeEmpty(): void,
+ toBePresent(): void,
+ // 6.x
+ toBeChecked(): void,
+ toBeDisabled(): void,
+ toBeEmptyRender(): void,
+ toContainMatchingElement(selector: string): void;
+ toContainMatchingElements(n: number, selector: string): void;
+ toContainExactlyOneMatchingElement(selector: string): void;
+ toContainReact(element: React$Element<any>): void,
+ toExist(): void,
+ toHaveClassName(className: string): void,
+ toHaveHTML(html: string): void,
+ toHaveProp: ((propKey: string, propValue?: any) => void) & ((props: Object) => void),
+ toHaveRef(refName: string): void,
+ toHaveState: ((stateKey: string, stateValue?: any) => void) & ((state: Object) => void),
+ toHaveStyle: ((styleKey: string, styleValue?: any) => void) & ((style: Object) => void),
+ toHaveTagName(tagName: string): void,
+ toHaveText(text: string): void,
+ toHaveValue(value: any): void,
+ toIncludeText(text: string): void,
+ toMatchElement(
+ element: React$Element<any>,
+ options?: {| ignoreProps?: boolean |},
+ ): void,
+ toMatchSelector(selector: string): void
+};
+
+// DOM testing library extensions https://github.com/kentcdodds/dom-testing-library#custom-jest-matchers
+type DomTestingLibraryType = {
+ toBeInTheDOM(): void,
+ toHaveTextContent(content: string): void,
+ toHaveAttribute(name: string, expectedValue?: string): void
+};
+
+// Jest JQuery Matchers: https://github.com/unindented/custom-jquery-matchers
+type JestJQueryMatchersType = {
+ toExist(): void,
+ toHaveLength(len: number): void,
+ toHaveId(id: string): void,
+ toHaveClass(className: string): void,
+ toHaveTag(tag: string): void,
+ toHaveAttr(key: string, val?: any): void,
+ toHaveProp(key: string, val?: any): void,
+ toHaveText(text: string | RegExp): void,
+ toHaveData(key: string, val?: any): void,
+ toHaveValue(val: any): void,
+ toHaveCss(css: {[key: string]: any}): void,
+ toBeChecked(): void,
+ toBeDisabled(): void,
+ toBeEmpty(): void,
+ toBeHidden(): void,
+ toBeSelected(): void,
+ toBeVisible(): void,
+ toBeFocused(): void,
+ toBeInDom(): void,
+ toBeMatchedBy(sel: string): void,
+ toHaveDescendant(sel: string): void,
+ toHaveDescendantWithText(sel: string, text: string | RegExp): void
+};
+
+
+// Jest Extended Matchers: https://github.com/jest-community/jest-extended
+type JestExtendedMatchersType = {
+ /**
+ * Note: Currently unimplemented
+ * Passing assertion
+ *
+ * @param {String} message
+ */
+ // pass(message: string): void;
+
+ /**
+ * Note: Currently unimplemented
+ * Failing assertion
+ *
+ * @param {String} message
+ */
+ // fail(message: string): void;
+
+ /**
+ * Use .toBeEmpty when checking if a String '', Array [] or Object {} is empty.
+ */
+ toBeEmpty(): void;
+
+ /**
+ * Use .toBeOneOf when checking if a value is a member of a given Array.
+ * @param {Array.<*>} members
+ */
+ toBeOneOf(members: any[]): void;
+
+ /**
+ * Use `.toBeNil` when checking a value is `null` or `undefined`.
+ */
+ toBeNil(): void;
+
+ /**
+ * Use `.toSatisfy` when you want to use a custom matcher by supplying a predicate function that returns a `Boolean`.
+ * @param {Function} predicate
+ */
+ toSatisfy(predicate: (n: any) => boolean): void;
+
+ /**
+ * Use `.toBeArray` when checking if a value is an `Array`.
+ */
+ toBeArray(): void;
+
+ /**
+ * Use `.toBeArrayOfSize` when checking if a value is an `Array` of size x.
+ * @param {Number} x
+ */
+ toBeArrayOfSize(x: number): void;
+
+ /**
+ * Use `.toIncludeAllMembers` when checking if an `Array` contains all of the same members of a given set.
+ * @param {Array.<*>} members
+ */
+ toIncludeAllMembers(members: any[]): void;
+
+ /**
+ * Use `.toIncludeAnyMembers` when checking if an `Array` contains any of the members of a given set.
+ * @param {Array.<*>} members
+ */
+ toIncludeAnyMembers(members: any[]): void;
+
+ /**
+ * Use `.toSatisfyAll` when you want to use a custom matcher by supplying a predicate function that returns a `Boolean` for all values in an array.
+ * @param {Function} predicate
+ */
+ toSatisfyAll(predicate: (n: any) => boolean): void;
+
+ /**
+ * Use `.toBeBoolean` when checking if a value is a `Boolean`.
+ */
+ toBeBoolean(): void;
+
+ /**
+ * Use `.toBeTrue` when checking a value is equal (===) to `true`.
+ */
+ toBeTrue(): void;
+
+ /**
+ * Use `.toBeFalse` when checking a value is equal (===) to `false`.
+ */
+ toBeFalse(): void;
+
+ /**
+ * Use .toBeDate when checking if a value is a Date.
+ */
+ toBeDate(): void;
+
+ /**
+ * Use `.toBeFunction` when checking if a value is a `Function`.
+ */
+ toBeFunction(): void;
+
+ /**
+ * Use `.toHaveBeenCalledBefore` when checking if a `Mock` was called before another `Mock`.
+ *
+ * Note: Required Jest version >22
+ * Note: Your mock functions will have to be asynchronous to cause the timestamps inside of Jest to occur in a differentJS event loop, otherwise the mock timestamps will all be the same
+ *
+ * @param {Mock} mock
+ */
+ toHaveBeenCalledBefore(mock: JestMockFn<any, any>): void;
+
+ /**
+ * Use `.toBeNumber` when checking if a value is a `Number`.
+ */
+ toBeNumber(): void;
+
+ /**
+ * Use `.toBeNaN` when checking a value is `NaN`.
+ */
+ toBeNaN(): void;
+
+ /**
+ * Use `.toBeFinite` when checking if a value is a `Number`, not `NaN` or `Infinity`.
+ */
+ toBeFinite(): void;
+
+ /**
+ * Use `.toBePositive` when checking if a value is a positive `Number`.
+ */
+ toBePositive(): void;
+
+ /**
+ * Use `.toBeNegative` when checking if a value is a negative `Number`.
+ */
+ toBeNegative(): void;
+
+ /**
+ * Use `.toBeEven` when checking if a value is an even `Number`.
+ */
+ toBeEven(): void;
+
+ /**
+ * Use `.toBeOdd` when checking if a value is an odd `Number`.
+ */
+ toBeOdd(): void;
+
+ /**
+ * Use `.toBeWithin` when checking if a number is in between the given bounds of: start (inclusive) and end (exclusive).
+ *
+ * @param {Number} start
+ * @param {Number} end
+ */
+ toBeWithin(start: number, end: number): void;
+
+ /**
+ * Use `.toBeObject` when checking if a value is an `Object`.
+ */
+ toBeObject(): void;
+
+ /**
+ * Use `.toContainKey` when checking if an object contains the provided key.
+ *
+ * @param {String} key
+ */
+ toContainKey(key: string): void;
+
+ /**
+ * Use `.toContainKeys` when checking if an object has all of the provided keys.
+ *
+ * @param {Array.<String>} keys
+ */
+ toContainKeys(keys: string[]): void;
+
+ /**
+ * Use `.toContainAllKeys` when checking if an object only contains all of the provided keys.
+ *
+ * @param {Array.<String>} keys
+ */
+ toContainAllKeys(keys: string[]): void;
+
+ /**
+ * Use `.toContainAnyKeys` when checking if an object contains at least one of the provided keys.
+ *
+ * @param {Array.<String>} keys
+ */
+ toContainAnyKeys(keys: string[]): void;
+
+ /**
+ * Use `.toContainValue` when checking if an object contains the provided value.
+ *
+ * @param {*} value
+ */
+ toContainValue(value: any): void;
+
+ /**
+ * Use `.toContainValues` when checking if an object contains all of the provided values.
+ *
+ * @param {Array.<*>} values
+ */
+ toContainValues(values: any[]): void;
+
+ /**
+ * Use `.toContainAllValues` when checking if an object only contains all of the provided values.
+ *
+ * @param {Array.<*>} values
+ */
+ toContainAllValues(values: any[]): void;
+
+ /**
+ * Use `.toContainAnyValues` when checking if an object contains at least one of the provided values.
+ *
+ * @param {Array.<*>} values
+ */
+ toContainAnyValues(values: any[]): void;
+
+ /**
+ * Use `.toContainEntry` when checking if an object contains the provided entry.
+ *
+ * @param {Array.<String, String>} entry
+ */
+ toContainEntry(entry: [string, string]): void;
+
+ /**
+ * Use `.toContainEntries` when checking if an object contains all of the provided entries.
+ *
+ * @param {Array.<Array.<String, String>>} entries
+ */
+ toContainEntries(entries: [string, string][]): void;
+
+ /**
+ * Use `.toContainAllEntries` when checking if an object only contains all of the provided entries.
+ *
+ * @param {Array.<Array.<String, String>>} entries
+ */
+ toContainAllEntries(entries: [string, string][]): void;
+
+ /**
+ * Use `.toContainAnyEntries` when checking if an object contains at least one of the provided entries.
+ *
+ * @param {Array.<Array.<String, String>>} entries
+ */
+ toContainAnyEntries(entries: [string, string][]): void;
+
+ /**
+ * Use `.toBeExtensible` when checking if an object is extensible.
+ */
+ toBeExtensible(): void;
+
+ /**
+ * Use `.toBeFrozen` when checking if an object is frozen.
+ */
+ toBeFrozen(): void;
+
+ /**
+ * Use `.toBeSealed` when checking if an object is sealed.
+ */
+ toBeSealed(): void;
+
+ /**
+ * Use `.toBeString` when checking if a value is a `String`.
+ */
+ toBeString(): void;
+
+ /**
+ * Use `.toEqualCaseInsensitive` when checking if a string is equal (===) to another ignoring the casing of both strings.
+ *
+ * @param {String} string
+ */
+ toEqualCaseInsensitive(string: string): void;
+
+ /**
+ * Use `.toStartWith` when checking if a `String` starts with a given `String` prefix.
+ *
+ * @param {String} prefix
+ */
+ toStartWith(prefix: string): void;
+
+ /**
+ * Use `.toEndWith` when checking if a `String` ends with a given `String` suffix.
+ *
+ * @param {String} suffix
+ */
+ toEndWith(suffix: string): void;
+
+ /**
+ * Use `.toInclude` when checking if a `String` includes the given `String` substring.
+ *
+ * @param {String} substring
+ */
+ toInclude(substring: string): void;
+
+ /**
+ * Use `.toIncludeRepeated` when checking if a `String` includes the given `String` substring the correct number of times.
+ *
+ * @param {String} substring
+ * @param {Number} times
+ */
+ toIncludeRepeated(substring: string, times: number): void;
+
+ /**
+ * Use `.toIncludeMultiple` when checking if a `String` includes all of the given substrings.
+ *
+ * @param {Array.<String>} substring
+ */
+ toIncludeMultiple(substring: string[]): void;
+};
+
+interface JestExpectType {
+ not:
+ & JestExpectType
+ & EnzymeMatchersType
+ & DomTestingLibraryType
+ & JestJQueryMatchersType
+ & JestStyledComponentsMatchersType
+ & JestExtendedMatchersType,
+ /**
+ * If you have a mock function, you can use .lastCalledWith to test what
+ * arguments it was last called with.
+ */
+ lastCalledWith(...args: Array<any>): void,
+ /**
+ * toBe just checks that a value is what you expect. It uses === to check
+ * strict equality.
+ */
+ toBe(value: any): void,
+ /**
+ * Use .toBeCalledWith to ensure that a mock function was called with
+ * specific arguments.
+ */
+ toBeCalledWith(...args: Array<any>): void,
+ /**
+ * Using exact equality with floating point numbers is a bad idea. Rounding
+ * means that intuitive things fail.
+ */
+ toBeCloseTo(num: number, delta: any): void,
+ /**
+ * Use .toBeDefined to check that a variable is not undefined.
+ */
+ toBeDefined(): void,
+ /**
+ * Use .toBeFalsy when you don't care what a value is, you just want to
+ * ensure a value is false in a boolean context.
+ */
+ toBeFalsy(): void,
+ /**
+ * To compare floating point numbers, you can use toBeGreaterThan.
+ */
+ toBeGreaterThan(number: number): void,
+ /**
+ * To compare floating point numbers, you can use toBeGreaterThanOrEqual.
+ */
+ toBeGreaterThanOrEqual(number: number): void,
+ /**
+ * To compare floating point numbers, you can use toBeLessThan.
+ */
+ toBeLessThan(number: number): void,
+ /**
+ * To compare floating point numbers, you can use toBeLessThanOrEqual.
+ */
+ toBeLessThanOrEqual(number: number): void,
+ /**
+ * Use .toBeInstanceOf(Class) to check that an object is an instance of a
+ * class.
+ */
+ toBeInstanceOf(cls: Class<*>): void,
+ /**
+ * .toBeNull() is the same as .toBe(null) but the error messages are a bit
+ * nicer.
+ */
+ toBeNull(): void,
+ /**
+ * Use .toBeTruthy when you don't care what a value is, you just want to
+ * ensure a value is true in a boolean context.
+ */
+ toBeTruthy(): void,
+ /**
+ * Use .toBeUndefined to check that a variable is undefined.
+ */
+ toBeUndefined(): void,
+ /**
+ * Use .toContain when you want to check that an item is in a list. For
+ * testing the items in the list, this uses ===, a strict equality check.
+ */
+ toContain(item: any): void,
+ /**
+ * Use .toContainEqual when you want to check that an item is in a list. For
+ * testing the items in the list, this matcher recursively checks the
+ * equality of all fields, rather than checking for object identity.
+ */
+ toContainEqual(item: any): void,
+ /**
+ * Use .toEqual when you want to check that two objects have the same value.
+ * This matcher recursively checks the equality of all fields, rather than
+ * checking for object identity.
+ */
+ toEqual(value: any): void,
+ /**
+ * Use .toHaveBeenCalled to ensure that a mock function got called.
+ */
+ toHaveBeenCalled(): void,
+ toBeCalled(): void;
+ /**
+ * Use .toHaveBeenCalledTimes to ensure that a mock function got called exact
+ * number of times.
+ */
+ toHaveBeenCalledTimes(number: number): void,
+ toBeCalledTimes(number: number): void;
+ /**
+ *
+ */
+ toHaveBeenNthCalledWith(nthCall: number, ...args: Array<any>): void;
+ nthCalledWith(nthCall: number, ...args: Array<any>): void;
+ /**
+ *
+ */
+ toHaveReturned(): void;
+ toReturn(): void;
+ /**
+ *
+ */
+ toHaveReturnedTimes(number: number): void;
+ toReturnTimes(number: number): void;
+ /**
+ *
+ */
+ toHaveReturnedWith(value: any): void;
+ toReturnWith(value: any): void;
+ /**
+ *
+ */
+ toHaveLastReturnedWith(value: any): void;
+ lastReturnedWith(value: any): void;
+ /**
+ *
+ */
+ toHaveNthReturnedWith(nthCall: number, value: any): void;
+ nthReturnedWith(nthCall: number, value: any): void;
+ /**
+ * Use .toHaveBeenCalledWith to ensure that a mock function was called with
+ * specific arguments.
+ */
+ toHaveBeenCalledWith(...args: Array<any>): void,
+ toBeCalledWith(...args: Array<any>): void,
+ /**
+ * Use .toHaveBeenLastCalledWith to ensure that a mock function was last called
+ * with specific arguments.
+ */
+ toHaveBeenLastCalledWith(...args: Array<any>): void,
+ lastCalledWith(...args: Array<any>): void,
+ /**
+ * Check that an object has a .length property and it is set to a certain
+ * numeric value.
+ */
+ toHaveLength(number: number): void,
+ /**
+ *
+ */
+ toHaveProperty(propPath: string, value?: any): void,
+ /**
+ * Use .toMatch to check that a string matches a regular expression or string.
+ */
+ toMatch(regexpOrString: RegExp | string): void,
+ /**
+ * Use .toMatchObject to check that a javascript object matches a subset of the properties of an object.
+ */
+ toMatchObject(object: Object | Array<Object>): void,
+ /**
+ * Use .toStrictEqual to check that a javascript object matches a subset of the properties of an object.
+ */
+ toStrictEqual(value: any): void,
+ /**
+ * This ensures that an Object matches the most recent snapshot.
+ */
+ toMatchSnapshot(propertyMatchers?: any, name?: string): void,
+ /**
+ * This ensures that an Object matches the most recent snapshot.
+ */
+ toMatchSnapshot(name: string): void,
+
+ toMatchInlineSnapshot(snapshot?: string): void,
+ toMatchInlineSnapshot(propertyMatchers?: any, snapshot?: string): void,
+ /**
+ * Use .toThrow to test that a function throws when it is called.
+ * If you want to test that a specific error gets thrown, you can provide an
+ * argument to toThrow. The argument can be a string for the error message,
+ * a class for the error, or a regex that should match the error.
+ *
+ * Alias: .toThrowError
+ */
+ toThrow(message?: string | Error | Class<Error> | RegExp): void,
+ toThrowError(message?: string | Error | Class<Error> | RegExp): void,
+ /**
+ * Use .toThrowErrorMatchingSnapshot to test that a function throws a error
+ * matching the most recent snapshot when it is called.
+ */
+ toThrowErrorMatchingSnapshot(): void,
+ toThrowErrorMatchingInlineSnapshot(snapshot?: string): void,
+}
+
+type JestObjectType = {
+ /**
+ * Disables automatic mocking in the module loader.
+ *
+ * After this method is called, all `require()`s will return the real
+ * versions of each module (rather than a mocked version).
+ */
+ disableAutomock(): JestObjectType,
+ /**
+ * An un-hoisted version of disableAutomock
+ */
+ autoMockOff(): JestObjectType,
+ /**
+ * Enables automatic mocking in the module loader.
+ */
+ enableAutomock(): JestObjectType,
+ /**
+ * An un-hoisted version of enableAutomock
+ */
+ autoMockOn(): JestObjectType,
+ /**
+ * Clears the mock.calls and mock.instances properties of all mocks.
+ * Equivalent to calling .mockClear() on every mocked function.
+ */
+ clearAllMocks(): JestObjectType,
+ /**
+ * Resets the state of all mocks. Equivalent to calling .mockReset() on every
+ * mocked function.
+ */
+ resetAllMocks(): JestObjectType,
+ /**
+ * Restores all mocks back to their original value.
+ */
+ restoreAllMocks(): JestObjectType,
+ /**
+ * Removes any pending timers from the timer system.
+ */
+ clearAllTimers(): void,
+ /**
+ * The same as `mock` but not moved to the top of the expectation by
+ * babel-jest.
+ */
+ doMock(moduleName: string, moduleFactory?: any): JestObjectType,
+ /**
+ * The same as `unmock` but not moved to the top of the expectation by
+ * babel-jest.
+ */
+ dontMock(moduleName: string): JestObjectType,
+ /**
+ * Returns a new, unused mock function. Optionally takes a mock
+ * implementation.
+ */
+ fn<TArguments: $ReadOnlyArray<*>, TReturn>(
+ implementation?: (...args: TArguments) => TReturn
+ ): JestMockFn<TArguments, TReturn>,
+ /**
+ * Determines if the given function is a mocked function.
+ */
+ isMockFunction(fn: Function): boolean,
+ /**
+ * Given the name of a module, use the automatic mocking system to generate a
+ * mocked version of the module for you.
+ */
+ genMockFromModule(moduleName: string): any,
+ /**
+ * Mocks a module with an auto-mocked version when it is being required.
+ *
+ * The second argument can be used to specify an explicit module factory that
+ * is being run instead of using Jest's automocking feature.
+ *
+ * The third argument can be used to create virtual mocks -- mocks of modules
+ * that don't exist anywhere in the system.
+ */
+ mock(
+ moduleName: string,
+ moduleFactory?: any,
+ options?: Object
+ ): JestObjectType,
+ /**
+ * Returns the actual module instead of a mock, bypassing all checks on
+ * whether the module should receive a mock implementation or not.
+ */
+ requireActual(moduleName: string): any,
+ /**
+ * Returns a mock module instead of the actual module, bypassing all checks
+ * on whether the module should be required normally or not.
+ */
+ requireMock(moduleName: string): any,
+ /**
+ * Resets the module registry - the cache of all required modules. This is
+ * useful to isolate modules where local state might conflict between tests.
+ */
+ resetModules(): JestObjectType,
+ /**
+ * Exhausts the micro-task queue (usually interfaced in node via
+ * process.nextTick).
+ */
+ runAllTicks(): void,
+ /**
+ * Exhausts the macro-task queue (i.e., all tasks queued by setTimeout(),
+ * setInterval(), and setImmediate()).
+ */
+ runAllTimers(): void,
+ /**
+ * Exhausts all tasks queued by setImmediate().
+ */
+ runAllImmediates(): void,
+ /**
+ * Executes only the macro task queue (i.e. all tasks queued by setTimeout()
+ * or setInterval() and setImmediate()).
+ */
+ advanceTimersByTime(msToRun: number): void,
+ /**
+ * Executes only the macro task queue (i.e. all tasks queued by setTimeout()
+ * or setInterval() and setImmediate()).
+ *
+ * Renamed to `advanceTimersByTime`.
+ */
+ runTimersToTime(msToRun: number): void,
+ /**
+ * Executes only the macro-tasks that are currently pending (i.e., only the
+ * tasks that have been queued by setTimeout() or setInterval() up to this
+ * point)
+ */
+ runOnlyPendingTimers(): void,
+ /**
+ * Explicitly supplies the mock object that the module system should return
+ * for the specified module. Note: It is recommended to use jest.mock()
+ * instead.
+ */
+ setMock(moduleName: string, moduleExports: any): JestObjectType,
+ /**
+ * Indicates that the module system should never return a mocked version of
+ * the specified module from require() (e.g. that it should always return the
+ * real module).
+ */
+ unmock(moduleName: string): JestObjectType,
+ /**
+ * Instructs Jest to use fake versions of the standard timer functions
+ * (setTimeout, setInterval, clearTimeout, clearInterval, nextTick,
+ * setImmediate and clearImmediate).
+ */
+ useFakeTimers(): JestObjectType,
+ /**
+ * Instructs Jest to use the real versions of the standard timer functions.
+ */
+ useRealTimers(): JestObjectType,
+ /**
+ * Creates a mock function similar to jest.fn but also tracks calls to
+ * object[methodName].
+ */
+ spyOn(object: Object, methodName: string, accessType?: "get" | "set"): JestMockFn<any, any>,
+ /**
+ * Set the default timeout interval for tests and before/after hooks in milliseconds.
+ * Note: The default timeout interval is 5 seconds if this method is not called.
+ */
+ setTimeout(timeout: number): JestObjectType
+};
+
+type JestSpyType = {
+ calls: JestCallsType
+};
+
+/** Runs this function after every test inside this context */
+declare function afterEach(
+ fn: (done: () => void) => ?Promise<mixed>,
+ timeout?: number
+): void;
+/** Runs this function before every test inside this context */
+declare function beforeEach(
+ fn: (done: () => void) => ?Promise<mixed>,
+ timeout?: number
+): void;
+/** Runs this function after all tests have finished inside this context */
+declare function afterAll(
+ fn: (done: () => void) => ?Promise<mixed>,
+ timeout?: number
+): void;
+/** Runs this function before any tests have started inside this context */
+declare function beforeAll(
+ fn: (done: () => void) => ?Promise<mixed>,
+ timeout?: number
+): void;
+
+/** A context for grouping tests together */
+declare var describe: {
+ /**
+ * Creates a block that groups together several related tests in one "test suite"
+ */
+ (name: JestTestName, fn: () => void): void,
+
+ /**
+ * Only run this describe block
+ */
+ only(name: JestTestName, fn: () => void): void,
+
+ /**
+ * Skip running this describe block
+ */
+ skip(name: JestTestName, fn: () => void): void,
+
+ /**
+ * each runs this test against array of argument arrays per each run
+ *
+ * @param {table} table of Test
+ */
+ each(
+ table: Array<Array<mixed> | mixed>
+ ): (
+ name: JestTestName,
+ fn?: (...args: Array<any>) => ?Promise<mixed>
+ ) => void,
+};
+
+/** An individual test unit */
+declare var it: {
+ /**
+ * An individual test unit
+ *
+ * @param {JestTestName} Name of Test
+ * @param {Function} Test
+ * @param {number} Timeout for the test, in milliseconds.
+ */
+ (
+ name: JestTestName,
+ fn?: (done: () => void) => ?Promise<mixed>,
+ timeout?: number
+ ): void,
+ /**
+ * each runs this test against array of argument arrays per each run
+ *
+ * @param {table} table of Test
+ */
+ each(
+ table: Array<Array<mixed> | mixed>
+ ): (
+ name: JestTestName,
+ fn?: (...args: Array<any>) => ?Promise<mixed>
+ ) => void,
+ /**
+ * Only run this test
+ *
+ * @param {JestTestName} Name of Test
+ * @param {Function} Test
+ * @param {number} Timeout for the test, in milliseconds.
+ */
+ only(
+ name: JestTestName,
+ fn?: (done: () => void) => ?Promise<mixed>,
+ timeout?: number
+ ): {
+ each(
+ table: Array<Array<mixed> | mixed>
+ ): (
+ name: JestTestName,
+ fn?: (...args: Array<any>) => ?Promise<mixed>
+ ) => void,
+ },
+ /**
+ * Skip running this test
+ *
+ * @param {JestTestName} Name of Test
+ * @param {Function} Test
+ * @param {number} Timeout for the test, in milliseconds.
+ */
+ skip(
+ name: JestTestName,
+ fn?: (done: () => void) => ?Promise<mixed>,
+ timeout?: number
+ ): void,
+ /**
+ * Run the test concurrently
+ *
+ * @param {JestTestName} Name of Test
+ * @param {Function} Test
+ * @param {number} Timeout for the test, in milliseconds.
+ */
+ concurrent(
+ name: JestTestName,
+ fn?: (done: () => void) => ?Promise<mixed>,
+ timeout?: number
+ ): void,
+ /**
+ * each runs this test against array of argument arrays per each run
+ *
+ * @param {table} table of Test
+ */
+ each(
+ table: Array<Array<mixed> | mixed>
+ ): (
+ name: JestTestName,
+ fn?: (...args: Array<any>) => ?Promise<mixed>
+ ) => void,
+};
+declare function fit(
+ name: JestTestName,
+ fn: (done: () => void) => ?Promise<mixed>,
+ timeout?: number
+): void;
+/** An individual test unit */
+declare var test: typeof it;
+/** A disabled group of tests */
+declare var xdescribe: typeof describe;
+/** A focused group of tests */
+declare var fdescribe: typeof describe;
+/** A disabled individual test */
+declare var xit: typeof it;
+/** A disabled individual test */
+declare var xtest: typeof it;
+
+type JestPrettyFormatColors = {
+ comment: { close: string, open: string },
+ content: { close: string, open: string },
+ prop: { close: string, open: string },
+ tag: { close: string, open: string },
+ value: { close: string, open: string },
+};
+
+type JestPrettyFormatIndent = string => string;
+type JestPrettyFormatRefs = Array<any>;
+type JestPrettyFormatPrint = any => string;
+type JestPrettyFormatStringOrNull = string | null;
+
+type JestPrettyFormatOptions = {|
+ callToJSON: boolean,
+ edgeSpacing: string,
+ escapeRegex: boolean,
+ highlight: boolean,
+ indent: number,
+ maxDepth: number,
+ min: boolean,
+ plugins: JestPrettyFormatPlugins,
+ printFunctionName: boolean,
+ spacing: string,
+ theme: {|
+ comment: string,
+ content: string,
+ prop: string,
+ tag: string,
+ value: string,
+ |},
+|};
+
+type JestPrettyFormatPlugin = {
+ print: (
+ val: any,
+ serialize: JestPrettyFormatPrint,
+ indent: JestPrettyFormatIndent,
+ opts: JestPrettyFormatOptions,
+ colors: JestPrettyFormatColors,
+ ) => string,
+ test: any => boolean,
+};
+
+type JestPrettyFormatPlugins = Array<JestPrettyFormatPlugin>;
+
+/** The expect function is used every time you want to test a value */
+declare var expect: {
+ /** The object that you want to make assertions against */
+ (value: any):
+ & JestExpectType
+ & JestPromiseType
+ & EnzymeMatchersType
+ & DomTestingLibraryType
+ & JestJQueryMatchersType
+ & JestStyledComponentsMatchersType
+ & JestExtendedMatchersType,
+
+ /** Add additional Jasmine matchers to Jest's roster */
+ extend(matchers: { [name: string]: JestMatcher }): void,
+ /** Add a module that formats application-specific data structures. */
+ addSnapshotSerializer(pluginModule: JestPrettyFormatPlugin): void,
+ assertions(expectedAssertions: number): void,
+ hasAssertions(): void,
+ any(value: mixed): JestAsymmetricEqualityType,
+ anything(): any,
+ arrayContaining(value: Array<mixed>): Array<mixed>,
+ objectContaining(value: Object): Object,
+ /** Matches any received string that contains the exact expected string. */
+ stringContaining(value: string): string,
+ stringMatching(value: string | RegExp): string,
+ not: {
+ arrayContaining: (value: $ReadOnlyArray<mixed>) => Array<mixed>,
+ objectContaining: (value: {}) => Object,
+ stringContaining: (value: string) => string,
+ stringMatching: (value: string | RegExp) => string,
+ },
+};
+
+// TODO handle return type
+// http://jasmine.github.io/2.4/introduction.html#section-Spies
+declare function spyOn(value: mixed, method: string): Object;
+
+/** Holds all functions related to manipulating test runner */
+declare var jest: JestObjectType;
+
+/**
+ * The global Jasmine object, this is generally not exposed as the public API,
+ * using features inside here could break in later versions of Jest.
+ */
+declare var jasmine: {
+ DEFAULT_TIMEOUT_INTERVAL: number,
+ any(value: mixed): JestAsymmetricEqualityType,
+ anything(): any,
+ arrayContaining(value: Array<mixed>): Array<mixed>,
+ clock(): JestClockType,
+ createSpy(name: string): JestSpyType,
+ createSpyObj(
+ baseName: string,
+ methodNames: Array<string>
+ ): { [methodName: string]: JestSpyType },
+ objectContaining(value: Object): Object,
+ stringMatching(value: string): string
+};
diff --git a/tiny-warning/flow-typed/npm/prettier_v1.x.x.js b/tiny-warning/flow-typed/npm/prettier_v1.x.x.js
new file mode 100644
index 0000000..0c24491
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/prettier_v1.x.x.js
@@ -0,0 +1,178 @@
+// flow-typed signature: 4eed8da2dc730dc33e7710b465eaa44b
+// flow-typed version: cc7a557b34/prettier_v1.x.x/flow_>=v0.56.x
+
+declare module "prettier" {
+ declare type AST = Object;
+ declare type Doc = Object;
+ declare type FastPath = Object;
+
+ declare type PrettierParserName =
+ | "babylon"
+ | "flow"
+ | "typescript"
+ | "postcss"
+ | "css"
+ | "less"
+ | "scss"
+ | "json"
+ | "graphql"
+ | "markdown"
+ | "vue";
+
+ declare type PrettierParser = {
+ [name: PrettierParserName]: (text: string, options?: Object) => AST
+ };
+
+ declare type CustomParser = (
+ text: string,
+ parsers: PrettierParser,
+ options: Options
+ ) => AST;
+
+ declare type Options = {|
+ printWidth?: number,
+ tabWidth?: number,
+ useTabs?: boolean,
+ semi?: boolean,
+ singleQuote?: boolean,
+ trailingComma?: "none" | "es5" | "all",
+ bracketSpacing?: boolean,
+ jsxBracketSameLine?: boolean,
+ arrowParens?: "avoid" | "always",
+ rangeStart?: number,
+ rangeEnd?: number,
+ parser?: PrettierParserName | CustomParser,
+ filepath?: string,
+ requirePragma?: boolean,
+ insertPragma?: boolean,
+ proseWrap?: "always" | "never" | "preserve",
+ plugins?: Array<string | Plugin>
+ |};
+
+ declare type Plugin = {
+ languages: SupportLanguage,
+ parsers: { [parserName: string]: Parser },
+ printers: { [astFormat: string]: Printer }
+ };
+
+ declare type Parser = {
+ parse: (
+ text: string,
+ parsers: { [parserName: string]: Parser },
+ options: Object
+ ) => AST,
+ astFormat: string
+ };
+
+ declare type Printer = {
+ print: (
+ path: FastPath,
+ options: Object,
+ print: (path: FastPath) => Doc
+ ) => Doc,
+ embed: (
+ path: FastPath,
+ print: (path: FastPath) => Doc,
+ textToDoc: (text: string, options: Object) => Doc,
+ options: Object
+ ) => ?Doc
+ };
+
+ declare type CursorOptions = {|
+ cursorOffset: number,
+ printWidth?: $PropertyType<Options, "printWidth">,
+ tabWidth?: $PropertyType<Options, "tabWidth">,
+ useTabs?: $PropertyType<Options, "useTabs">,
+ semi?: $PropertyType<Options, "semi">,
+ singleQuote?: $PropertyType<Options, "singleQuote">,
+ trailingComma?: $PropertyType<Options, "trailingComma">,
+ bracketSpacing?: $PropertyType<Options, "bracketSpacing">,
+ jsxBracketSameLine?: $PropertyType<Options, "jsxBracketSameLine">,
+ arrowParens?: $PropertyType<Options, "arrowParens">,
+ parser?: $PropertyType<Options, "parser">,
+ filepath?: $PropertyType<Options, "filepath">,
+ requirePragma?: $PropertyType<Options, "requirePragma">,
+ insertPragma?: $PropertyType<Options, "insertPragma">,
+ proseWrap?: $PropertyType<Options, "proseWrap">,
+ plugins?: $PropertyType<Options, "plugins">
+ |};
+
+ declare type CursorResult = {|
+ formatted: string,
+ cursorOffset: number
+ |};
+
+ declare type ResolveConfigOptions = {|
+ useCache?: boolean,
+ config?: string,
+ editorconfig?: boolean
+ |};
+
+ declare type SupportLanguage = {
+ name: string,
+ since: string,
+ parsers: Array<string>,
+ group?: string,
+ tmScope: string,
+ aceMode: string,
+ codemirrorMode: string,
+ codemirrorMimeType: string,
+ aliases?: Array<string>,
+ extensions: Array<string>,
+ filenames?: Array<string>,
+ linguistLanguageId: number,
+ vscodeLanguageIds: Array<string>
+ };
+
+ declare type SupportOption = {|
+ since: string,
+ type: "int" | "boolean" | "choice" | "path",
+ deprecated?: string,
+ redirect?: SupportOptionRedirect,
+ description: string,
+ oppositeDescription?: string,
+ default: SupportOptionValue,
+ range?: SupportOptionRange,
+ choices?: SupportOptionChoice
+ |};
+
+ declare type SupportOptionRedirect = {|
+ options: string,
+ value: SupportOptionValue
+ |};
+
+ declare type SupportOptionRange = {|
+ start: number,
+ end: number,
+ step: number
+ |};
+
+ declare type SupportOptionChoice = {|
+ value: boolean | string,
+ description?: string,
+ since?: string,
+ deprecated?: string,
+ redirect?: SupportOptionValue
+ |};
+
+ declare type SupportOptionValue = number | boolean | string;
+
+ declare type SupportInfo = {|
+ languages: Array<SupportLanguage>,
+ options: Array<SupportOption>
+ |};
+
+ declare type Prettier = {|
+ format: (source: string, options?: Options) => string,
+ check: (source: string, options?: Options) => boolean,
+ formatWithCursor: (source: string, options: CursorOptions) => CursorResult,
+ resolveConfig: {
+ (filePath: string, options?: ResolveConfigOptions): Promise<?Options>,
+ sync(filePath: string, options?: ResolveConfigOptions): Promise<?Options>
+ },
+ clearConfigCache: () => void,
+ getSupportInfo: (version?: string) => SupportInfo
+ |};
+
+ declare export default Prettier;
+}
diff --git a/tiny-warning/flow-typed/npm/rimraf_v2.x.x.js b/tiny-warning/flow-typed/npm/rimraf_v2.x.x.js
new file mode 100644
index 0000000..13b8524
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/rimraf_v2.x.x.js
@@ -0,0 +1,18 @@
+// flow-typed signature: 1dff23447d5e18f5ac2b05aaec7cfb74
+// flow-typed version: a453e98ea2/rimraf_v2.x.x/flow_>=v0.25.0
+
+declare module 'rimraf' {
+ declare type Options = {
+ maxBusyTries?: number,
+ emfileWait?: number,
+ glob?: boolean,
+ disableGlob?: boolean
+ };
+
+ declare type Callback = (err: ?Error, path: ?string) => void;
+
+ declare module.exports: {
+ (f: string, opts?: Options | Callback, callback?: Callback): void;
+ sync(path: string, opts?: Options): void;
+ };
+}
diff --git a/tiny-warning/flow-typed/npm/rollup-plugin-babel_vx.x.x.js b/tiny-warning/flow-typed/npm/rollup-plugin-babel_vx.x.x.js
new file mode 100644
index 0000000..652788c
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/rollup-plugin-babel_vx.x.x.js
@@ -0,0 +1,74 @@
+// flow-typed signature: 973c9500e4cab50d99a36b48129481e3
+// flow-typed version: <<STUB>>/rollup-plugin-babel_v^4.0.3/flow_v0.82.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'rollup-plugin-babel'
+ *
+ * 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 'rollup-plugin-babel' {
+ 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 'rollup-plugin-babel/dist/rollup-plugin-babel.cjs' {
+ declare module.exports: any;
+}
+
+declare module 'rollup-plugin-babel/dist/rollup-plugin-babel.esm' {
+ declare module.exports: any;
+}
+
+declare module 'rollup-plugin-babel/src/constants' {
+ declare module.exports: any;
+}
+
+declare module 'rollup-plugin-babel/src/helperPlugin' {
+ declare module.exports: any;
+}
+
+declare module 'rollup-plugin-babel/src/index' {
+ declare module.exports: any;
+}
+
+declare module 'rollup-plugin-babel/src/preflightCheck' {
+ declare module.exports: any;
+}
+
+declare module 'rollup-plugin-babel/src/utils' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'rollup-plugin-babel/dist/rollup-plugin-babel.cjs.js' {
+ declare module.exports: $Exports<'rollup-plugin-babel/dist/rollup-plugin-babel.cjs'>;
+}
+declare module 'rollup-plugin-babel/dist/rollup-plugin-babel.esm.js' {
+ declare module.exports: $Exports<'rollup-plugin-babel/dist/rollup-plugin-babel.esm'>;
+}
+declare module 'rollup-plugin-babel/src/constants.js' {
+ declare module.exports: $Exports<'rollup-plugin-babel/src/constants'>;
+}
+declare module 'rollup-plugin-babel/src/helperPlugin.js' {
+ declare module.exports: $Exports<'rollup-plugin-babel/src/helperPlugin'>;
+}
+declare module 'rollup-plugin-babel/src/index.js' {
+ declare module.exports: $Exports<'rollup-plugin-babel/src/index'>;
+}
+declare module 'rollup-plugin-babel/src/preflightCheck.js' {
+ declare module.exports: $Exports<'rollup-plugin-babel/src/preflightCheck'>;
+}
+declare module 'rollup-plugin-babel/src/utils.js' {
+ declare module.exports: $Exports<'rollup-plugin-babel/src/utils'>;
+}
diff --git a/tiny-warning/flow-typed/npm/rollup-plugin-replace_vx.x.x.js b/tiny-warning/flow-typed/npm/rollup-plugin-replace_vx.x.x.js
new file mode 100644
index 0000000..bbe769d
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/rollup-plugin-replace_vx.x.x.js
@@ -0,0 +1,46 @@
+// flow-typed signature: db087c0f8735aace9843e6ebf0fc6db2
+// flow-typed version: <<STUB>>/rollup-plugin-replace_v^2.0.0/flow_v0.82.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'rollup-plugin-replace'
+ *
+ * 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 'rollup-plugin-replace' {
+ 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 'rollup-plugin-replace/dist/rollup-plugin-replace.cjs' {
+ declare module.exports: any;
+}
+
+declare module 'rollup-plugin-replace/dist/rollup-plugin-replace.es' {
+ declare module.exports: any;
+}
+
+declare module 'rollup-plugin-replace/src/index' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'rollup-plugin-replace/dist/rollup-plugin-replace.cjs.js' {
+ declare module.exports: $Exports<'rollup-plugin-replace/dist/rollup-plugin-replace.cjs'>;
+}
+declare module 'rollup-plugin-replace/dist/rollup-plugin-replace.es.js' {
+ declare module.exports: $Exports<'rollup-plugin-replace/dist/rollup-plugin-replace.es'>;
+}
+declare module 'rollup-plugin-replace/src/index.js' {
+ declare module.exports: $Exports<'rollup-plugin-replace/src/index'>;
+}
diff --git a/tiny-warning/flow-typed/npm/rollup-plugin-uglify_vx.x.x.js b/tiny-warning/flow-typed/npm/rollup-plugin-uglify_vx.x.x.js
new file mode 100644
index 0000000..f1a482c
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/rollup-plugin-uglify_vx.x.x.js
@@ -0,0 +1,38 @@
+// flow-typed signature: 7d8521b06a61516b9b178233496d21bd
+// flow-typed version: <<STUB>>/rollup-plugin-uglify_v^6.0.0/flow_v0.82.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'rollup-plugin-uglify'
+ *
+ * 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 'rollup-plugin-uglify' {
+ 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 'rollup-plugin-uglify/transform' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'rollup-plugin-uglify/index' {
+ declare module.exports: $Exports<'rollup-plugin-uglify'>;
+}
+declare module 'rollup-plugin-uglify/index.js' {
+ declare module.exports: $Exports<'rollup-plugin-uglify'>;
+}
+declare module 'rollup-plugin-uglify/transform.js' {
+ declare module.exports: $Exports<'rollup-plugin-uglify/transform'>;
+}
diff --git a/tiny-warning/flow-typed/npm/rollup_vx.x.x.js b/tiny-warning/flow-typed/npm/rollup_vx.x.x.js
new file mode 100644
index 0000000..2d85e02
--- /dev/null
+++ b/tiny-warning/flow-typed/npm/rollup_vx.x.x.js
@@ -0,0 +1,46 @@
+// flow-typed signature: 74b987f228ae8ecd554f7ca28416e775
+// flow-typed version: <<STUB>>/rollup_v^0.66.2/flow_v0.82.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'rollup'
+ *
+ * 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 'rollup' {
+ 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 'rollup/dist/rollup.browser' {
+ declare module.exports: any;
+}
+
+declare module 'rollup/dist/rollup.es' {
+ declare module.exports: any;
+}
+
+declare module 'rollup/dist/rollup' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'rollup/dist/rollup.browser.js' {
+ declare module.exports: $Exports<'rollup/dist/rollup.browser'>;
+}
+declare module 'rollup/dist/rollup.es.js' {
+ declare module.exports: $Exports<'rollup/dist/rollup.es'>;
+}
+declare module 'rollup/dist/rollup.js' {
+ declare module.exports: $Exports<'rollup/dist/rollup'>;
+}