From d19c85c26e9cc95bb1153bf47bd7bd7b08be73d3 Mon Sep 17 00:00:00 2001 From: Vasily Nesterov Date: Fri, 11 May 2018 01:15:04 +0500 Subject: [PATCH] [react-google-maps-loader] Create type definitions (#25662) --- types/react-google-maps-loader/index.d.ts | 28 +++++++++++++++++++ .../react-google-maps-loader-tests.tsx | 23 +++++++++++++++ types/react-google-maps-loader/tsconfig.json | 25 +++++++++++++++++ types/react-google-maps-loader/tslint.json | 1 + 4 files changed, 77 insertions(+) create mode 100644 types/react-google-maps-loader/index.d.ts create mode 100644 types/react-google-maps-loader/react-google-maps-loader-tests.tsx create mode 100644 types/react-google-maps-loader/tsconfig.json create mode 100644 types/react-google-maps-loader/tslint.json diff --git a/types/react-google-maps-loader/index.d.ts b/types/react-google-maps-loader/index.d.ts new file mode 100644 index 0000000000..1bea9e2a9c --- /dev/null +++ b/types/react-google-maps-loader/index.d.ts @@ -0,0 +1,28 @@ +// Type definitions for react-google-maps-loader 4.2 +// Project: https://github.com/xuopled/react-google-maps-loader +// Definitions by: Vasily Nesterov +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.6 + +/// +import { Component, ReactNode } from "react"; + +export default ReactGoogleMapsLoader; + +declare class ReactGoogleMapsLoader extends Component< + ReactGoogleMapsLoader.Props +> {} + +declare namespace ReactGoogleMapsLoader { + type GoogleMaps = typeof google.maps; + + interface Params { + key: string; + libraries?: string; + } + + interface Props { + params: Params; + render: (googleMaps: GoogleMaps, error?: string | null) => ReactNode; + } +} diff --git a/types/react-google-maps-loader/react-google-maps-loader-tests.tsx b/types/react-google-maps-loader/react-google-maps-loader-tests.tsx new file mode 100644 index 0000000000..e82c3f6038 --- /dev/null +++ b/types/react-google-maps-loader/react-google-maps-loader-tests.tsx @@ -0,0 +1,23 @@ +import * as React from "react"; +import ReactGoogleMapsLoader from "react-google-maps-loader"; + +const ReactGoogleMapsLoaderTest: React.SFC = () => ( +
} + /> +); + +const ReactGoogleMapsLoaderWithLibrariesTest: React.SFC = () => ( +
} + /> +); + +const ReactGoogleMapsLoaderWithErrorHandlerTest: React.SFC = () => ( +
{error}
} + /> +); diff --git a/types/react-google-maps-loader/tsconfig.json b/types/react-google-maps-loader/tsconfig.json new file mode 100644 index 0000000000..98ee7f63aa --- /dev/null +++ b/types/react-google-maps-loader/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "jsx": "react", + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "react-google-maps-loader-tests.tsx" + ] +} diff --git a/types/react-google-maps-loader/tslint.json b/types/react-google-maps-loader/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/react-google-maps-loader/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }