/js-typescript-guards

TypeScript guards for the Google Maps JavaScript API.

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Google Maps TypeScript Guards

npm Build Release codecov GitHub contributors semantic-release Discord

Description

This package provides TypeScript guards for the Google Maps JavaScript API.

A type guard (or type predicate) is an expression that performs a runtime check that guarantees the type in some scope. Type guards are used to narrow the type of a variable or parameter.

Documentation

For the complete API check the reference documentation.

Install

Available via npm as the package @googlemaps/typescript-guards.

npm i @googlemaps/typescript-guards

Example

The following example narrows a union type google.maps.LatLng | google.maps.LatLngLiteral to google.maps.LatLngLiteral using the isLatLngLiteral guard.

import { isLatLngLiteral } from "@googlemaps/typescript-guards";

const latLng: google.maps.LatLng | google.maps.LatLngLiteral = ...;

if (isLatLngLiteral(latLng)) {
  lat = latLng.lat;
  lng = latLng.lng;
} else {
  lat = latLng.lat();
  lng = latLng.lng();
}