[react-google-places-suggest] Create type definitions (#25557)

This commit is contained in:
Vasily Nesterov
2018-05-07 09:07:37 -07:00
committed by Andy
parent 7ff376ea8e
commit 75e4923f82
4 changed files with 106 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
// Type definitions for react-google-places-suggest 3.4
// Project: https://xuopled.github.io/react-google-places-suggest
// Definitions by: Vasily Nesterov <https://github.com/vasilysn>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.6
/// <reference types="googlemaps" />
import { Component, ReactNode } from "react";
export default ReactGooglePlacesSuggest;
declare class ReactGooglePlacesSuggest extends Component<
ReactGooglePlacesSuggest.Props
> { }
declare namespace ReactGooglePlacesSuggest {
type Prediction = google.maps.places.AutocompletePrediction;
type GeocodedPrediction = google.maps.GeocoderResult;
interface Props {
autocompletionRequest: google.maps.places.AutocompletionRequest;
children?: ReactNode;
customRender?: (prediction?: Prediction) => JSX.Element | string;
customContainerRender?: (
predictions: ReadonlyArray<Prediction>
) => JSX.Element | string;
googleMaps: typeof google.maps;
onSelectSuggest?: (
geocodedPrediction: GeocodedPrediction,
originalPrediction: Prediction
) => any;
textNoResults?: string | null;
}
}
@@ -0,0 +1,46 @@
import * as React from "react";
import ReactGooglePlacesSuggest from "react-google-places-suggest";
const defaultProps: ReactGooglePlacesSuggest.Props = {
googleMaps: google.maps,
autocompletionRequest: { input: "" }
};
const ReactGooglePlacesSuggestWithChildrenTest: React.SFC = () => (
<ReactGooglePlacesSuggest {...defaultProps}>
<div />
</ReactGooglePlacesSuggest>
);
const ReactGooglePlacesSuggestWithTextNoResultsPropTest: React.SFC = () => (
<ReactGooglePlacesSuggest {...defaultProps} textNoResults="No results..." />
);
const ReactGooglePlacesSuggestWithCustomRenderPropTest: React.SFC = () => (
<ReactGooglePlacesSuggest
{...defaultProps}
customRender={(prediction?: ReactGooglePlacesSuggest.Prediction) => {
return "123";
}}
/>
);
const ReactGooglePlacesSuggestWithOnSelectSuggestPropTest: React.SFC = () => (
<ReactGooglePlacesSuggest
{...defaultProps}
onSelectSuggest={(geocodedPrediction, originalPrediction) => {
return "123";
}}
/>
);
const ReactGooglePlacesSuggestWithCustomContainerRenderPropTest: React.SFC = () => (
<ReactGooglePlacesSuggest
{...defaultProps}
customContainerRender={(
predictions: ReadonlyArray<ReactGooglePlacesSuggest.Prediction>
) => {
return "123";
}}
/>
);
@@ -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-places-suggest-tests.tsx"
]
}
@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }