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