@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
30 lines • 1.45 kB
TypeScript
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