UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

30 lines 1.54 kB
import { type Coord, type Geometry } from "../_internals/geometry"; import { GeometryLine, type GeometryLineBase, type GeometryLineTypes } from "./geometry-line"; import type { GeometryPointBase, GeometryPointTypes } from "./geometry-point"; type PointBase = new (source: any) => GeometryPointBase<GeometryPointTypes<Coord>>; type LineBase = new (source: any) => GeometryLineBase<GeometryLineTypes<PointBase>>; export type GeometryPolygonTypes<TLine extends LineBase = LineBase> = { readonly Line: TLine; }; export type GeometryPolygonSource<TTypes extends GeometryPolygonTypes = GeometryPolygonTypes> = readonly [ (ConstructorParameters<TTypes["Line"]>[0] | InstanceType<TTypes["Line"]>), ...(ConstructorParameters<TTypes["Line"]>[0] | InstanceType<TTypes["Line"]>)[] ]; export declare class GeometryPolygonBase<TTypes extends GeometryPolygonTypes = GeometryPolygonTypes> implements Geometry { readonly types: TTypes; readonly type: "Polygon"; readonly polygon: readonly [ InstanceType<TTypes["Line"]>, ...InstanceType<TTypes["Line"]>[] ]; constructor(source: GeometryPolygonSource<TTypes>, types: TTypes); } /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/data/geometry-polygon) */ export declare class GeometryPolygon extends GeometryPolygonBase<GeometryPolygonTypes<typeof GeometryLine>> { static readonly Line: typeof GeometryLine; constructor(source: GeometryPolygonSource<typeof GeometryPolygon>); } export {}; //# sourceMappingURL=geometry-polygon.d.ts.map