UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

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