UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

48 lines 3.97 kB
import { GeometryCollectionBase as Base, type GeometryCollectionSource as GeometryCollectionSourceBase, type GeometryCollectionTypes as GeometryCollectionTypesBase } from "@tai-kun/surrealdb/decodeonly-datatypes"; import type { Coord } from "../_internals/geometry"; import { type GeoJsonLineString, GeometryLine, type GeometryLineBase, type GeometryLineTypes } from "./geometry-line"; import { type GeoJsonMultiLineString, GeometryMultiLine, type GeometryMultiLineBase, type GeometryMultiLineTypes } from "./geometry-multiline"; import { type GeoJsonMultiPoint, GeometryMultiPoint, type GeometryMultiPointBase, type GeometryMultiPointTypes } from "./geometry-multipoint"; import { type GeoJsonMultiPolygon, GeometryMultiPolygon, type GeometryMultiPolygonBase, type GeometryMultiPolygonTypes } from "./geometry-multipolygon"; import { type GeoJsonPoint, GeometryPoint, type GeometryPointBase, type GeometryPointTypes } from "./geometry-point"; import { type GeoJsonPolygon, GeometryPolygon, type GeometryPolygonBase, type GeometryPolygonTypes } from "./geometry-polygon"; import { CBOR_TAG_GEOMETRY_COLLECTION, type Encodable } from "./spec"; type PointBase = new (source: any) => GeometryPointBase<GeometryPointTypes<Coord>>; type MultiPointBase = new (source: any) => GeometryMultiPointBase<GeometryMultiPointTypes<PointBase>>; type LineBase = new (source: any) => GeometryLineBase<GeometryLineTypes<PointBase>>; type MultiLineBase = new (source: any) => GeometryMultiLineBase<GeometryMultiLineTypes<LineBase>>; type PolygonBase = new (source: any) => GeometryPolygonBase<GeometryPolygonTypes<LineBase>>; type MultiPolygonBase = new (source: any) => GeometryMultiPolygonBase<GeometryMultiPolygonTypes<PolygonBase>>; export type GeometryCollectionTypes<TPoint extends PointBase = PointBase, TMultiPoint extends MultiPointBase = MultiPointBase, TLine extends LineBase = LineBase, TMultiLine extends MultiLineBase = MultiLineBase, TPolygon extends PolygonBase = PolygonBase, TMultiPolygon extends MultiPolygonBase = MultiPolygonBase> = GeometryCollectionTypesBase<TPoint, TMultiPoint, TLine, TMultiLine, TPolygon, TMultiPolygon>; export type GeometryCollectionSource<TTypes extends GeometryCollectionTypes = GeometryCollectionTypes> = GeometryCollectionSourceBase<TTypes>; export type GeoJsonCollection = { type: "GeometryCollection"; geometries: (GeoJsonPoint | GeoJsonMultiPoint | GeoJsonLineString | GeoJsonMultiLineString | GeoJsonPolygon | GeoJsonMultiPolygon)[]; }; export declare class GeometryCollectionBase<TTypes extends GeometryCollectionTypes = GeometryCollectionTypes> extends Base<TTypes> implements Encodable { get geometries(): GeoJsonCollection["geometries"]; toCBOR(): [ tag: typeof CBOR_TAG_GEOMETRY_COLLECTION, value: this["collection"] ]; toJSON(): GeoJsonCollection; toSurql(): string; toPlainObject(): { type: "GeometryCollection"; collection: readonly (InstanceType<TTypes["Point"]> | InstanceType<TTypes["MultiPoint"]> | InstanceType<TTypes["Line"]> | InstanceType<TTypes["MultiLine"]> | InstanceType<TTypes["Polygon"]> | InstanceType<TTypes["MultiPolygon"]>)[]; }; } /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/data/geometry-collection) */ export declare class GeometryCollection extends GeometryCollectionBase<GeometryCollectionTypes<typeof GeometryPoint, typeof GeometryMultiPoint, typeof GeometryLine, typeof GeometryMultiLine, typeof GeometryPolygon, typeof GeometryMultiPolygon>> { static readonly Point: typeof GeometryPoint; static readonly MultiPoint: typeof GeometryMultiPoint; static readonly Line: typeof GeometryLine; static readonly MultiLine: typeof GeometryMultiLine; static readonly Polygon: typeof GeometryPolygon; static readonly MultiPolygon: typeof GeometryMultiPolygon; constructor(source: GeometryCollectionSource<typeof GeometryCollection>); } export {}; //# sourceMappingURL=geometry-collection.d.ts.map