@vepler/area-reference-types
Version:
TypeScript type definitions for Vepler Area Reference API
103 lines (102 loc) • 2.04 kB
TypeScript
/**
* Areas Border API Types
*
* /api/areas/border/{targetType}/{targetCode}/{sourceType} endpoint
*/
import { GeographicEntityResponse } from './common';
import { GeographicEntityType } from '../../common';
/**
* Border endpoint path parameters
*/
export interface BorderPathParams {
/**
* Target entity type for border areas
*/
targetType: GeographicEntityType;
/**
* Target entity code
*/
targetCode: string;
/**
* Source entity type
*/
sourceType: GeographicEntityType;
}
/**
* Border endpoint query parameters
*/
export interface BorderQueryParams {
/**
* Maximum number of results
*/
limit?: number;
/**
* Maximum distance for border search
*/
maxDistance?: number;
/**
* Include full geometry in response
*/
includeGeometry?: boolean;
}
/**
* Border relationship details
*/
export interface BorderRelationship {
/**
* Whether areas share a boundary
*/
touches_boundary: boolean;
/**
* Distance between areas
*/
distance: number;
/**
* Distance in meters
*/
distance_meters: number;
/**
* Percentage of overlap
*/
overlap_percentage: number;
/**
* Human-readable description
*/
description: string;
}
/**
* Border endpoint response
*/
export interface BorderResponse {
/**
* Success flag
*/
success: boolean;
/**
* Border query result
*/
result: {
/**
* Target entity information
*/
target: {
code: string;
name: string;
type: string;
};
/**
* Source entity type
*/
sourceType: string;
/**
* Array of bordering areas with relationship details
*/
areas: Array<GeographicEntityResponse & {
relationship: BorderRelationship;
}>;
/**
* Count of bordering areas
*/
count: number;
};
}