rc-leaflet
Version:
React Map Components of Leaflet
42 lines (41 loc) • 2.01 kB
JavaScript
import PropTypes from 'prop-types';
var PointType = PropTypes.shape({
type: PropTypes.oneOf(['Point']).isRequired,
coordinates: PropTypes.arrayOf(PropTypes.number).isRequired
});
var MultiPointType = PropTypes.shape({
type: PropTypes.oneOf(['MultiPoint']).isRequired,
coordinates: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired
});
var LineStringType = PropTypes.shape({
type: PropTypes.oneOf(['LineString']).isRequired,
coordinates: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired
});
var MultiLineStringType = PropTypes.shape({
type: PropTypes.oneOf(['MultiLineString']).isRequired,
coordinates: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number))).isRequired
});
var PolygonType = PropTypes.shape({
type: PropTypes.oneOf(['Polygon']).isRequired,
coordinates: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number))).isRequired
});
var MultiPolygonType = PropTypes.shape({
type: PropTypes.oneOf(['MultiPolygon']).isRequired,
coordinates: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)))).isRequired
});
var GeometryType = PropTypes.oneOfType([PointType, MultiPointType, LineStringType, MultiLineStringType, PolygonType, MultiPolygonType]);
var GeometryCollectionType = PropTypes.shape({
type: PropTypes.oneOf(['GeometryCollection']).isRequired,
coordinates: PropTypes.arrayOf(GeometryType).isRequired
});
var FeatureType = PropTypes.shape({
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
type: PropTypes.oneOf(['Feature']).isRequired,
geometry: PropTypes.oneOfType([GeometryType, GeometryCollectionType]).isRequired,
properties: PropTypes.object
});
var FeatureCollectionType = PropTypes.shape({
type: PropTypes.oneOf(['FeatureCollection']).isRequired,
features: PropTypes.arrayOf(FeatureType).isRequired
});
export { GeometryType, GeometryCollectionType, FeatureType, FeatureCollectionType };