@snap/camera-kit
Version:
Camera Kit Web
25 lines • 971 B
JavaScript
import { Injectable } from "@snap/ts-inject";
import { isArrayOfType, isNumber, isRecord, isString, isUndefined } from "../common/typeguards";
export function isGeoData(value) {
return isRecord(value) && isWeatherData(value.weather);
}
function isWeatherData(value) {
return (isRecord(value) &&
isString(value.locationName) &&
isNumber(value.celsius) &&
isNumber(value.fahrenheit) &&
!isUndefined(value.hourlyForecasts) &&
isArrayOfType(isHourlyWeatherForecast, value.hourlyForecasts));
}
function isHourlyWeatherForecast(value) {
return (isRecord(value) &&
isNumber(value.celsius) &&
isNumber(value.fahrenheit) &&
isString(value.displayTime) &&
isString(value.weatherCondition) &&
isString(value.localizedWeatherCondition));
}
export const geoDataProviderFactory = Injectable("geoDataProvider", () => {
return () => undefined;
});
//# sourceMappingURL=geoDataProvider.js.map