UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

38 lines 1.92 kB
import { GeometryLineBase as Base, type GeometryLineSource as GeometryLineSourceBase, type GeometryLineTypes as GeometryLineTypesBase } from "@tai-kun/surrealdb/decodeonly-datatypes"; import { type Coord } from "../_internals/geometry"; import { type GeoJsonPoint, GeometryPoint, type GeometryPointBase, type GeometryPointTypes } from "./geometry-point"; import { CBOR_TAG_GEOMETRY_LINE, type Encodable } from "./spec"; type PointBase = new (source: any) => GeometryPointBase<GeometryPointTypes<Coord>>; export type GeometryLineTypes<TPoint extends PointBase = PointBase> = GeometryLineTypesBase<TPoint>; export type GeometryLineSource<TTypes extends GeometryLineTypes = GeometryLineTypes> = GeometryLineSourceBase<TTypes>; export type GeoJsonLineString = { type: "LineString"; coordinates: [ GeoJsonPoint["coordinates"], GeoJsonPoint["coordinates"], ...GeoJsonPoint["coordinates"][] ]; }; export declare class GeometryLineBase<TTypes extends GeometryLineTypes> extends Base<TTypes> implements Encodable { get coordinates(): [ InstanceType<TTypes["Point"]>["coordinates"], InstanceType<TTypes["Point"]>["coordinates"], ...InstanceType<TTypes["Point"]>["coordinates"][] ]; toCBOR(): [tag: typeof CBOR_TAG_GEOMETRY_LINE, value: this["line"]]; toJSON(): GeoJsonLineString; toSurql(): string; toPlainObject(): { type: "LineString"; line: readonly [InstanceType<TTypes["Point"]>, InstanceType<TTypes["Point"]>, ...InstanceType<TTypes["Point"]>[]]; }; } /** * [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