Skip to main content

Interface: ShapesDataProvider<TShapesDataSource, TShapesData, TNormalizedShapesDataSource>

Defined in: storage/shapes.ts:81

Data provider for shape (polygon) collections

Extends

Type Parameters

TShapesDataSource

TShapesDataSource extends ShapesDataSource

The data source type this data provider opens

TShapesData

TShapesData extends ShapesData

The ShapesData type produced by this data provider

TNormalizedShapesDataSource

TNormalizedShapesDataSource extends TShapesDataSource = TShapesDataSource

The normalized data source type produced by normalize and accepted by load

Properties

name

readonly name: string

Defined in: storage/base.ts:134

The name of the data provider

Inherited from

AnnotatedDataProvider.name


schema

readonly schema: JsonSchema

Defined in: storage/base.ts:137

The JSON schema for the data source

Inherited from

AnnotatedDataProvider.schema


uischema

readonly uischema: UISchemaElement

Defined in: storage/base.ts:140

The JSON Forms UI schema for the data source

Inherited from

AnnotatedDataProvider.uischema

Methods

load()

load(normalizedDataSource, options?): Promise<TShapesData>

Defined in: storage/base.ts:222

Opens a data source and returns the loaded data accessor

The data source has to have been normalized by DataProvider.normalize beforehand.

Parameters

normalizedDataSource

TNormalizedShapesDataSource

The normalized data source to open

options?

AnnotatedDataProviderLoadOptions

See AnnotatedDataProviderLoadOptions

Returns

Promise<TShapesData>

A promise that resolves to the loaded data accessor

Inherited from

AnnotatedDataProvider.load


normalize()

normalize(dataSource, projectUrl): TNormalizedShapesDataSource

Defined in: storage/base.ts:159

Returns the data source with all of this data provider's defaults applied and all of its relative URLs resolved

Data sources that normalize to the same value are considered equal, and their data is loaded only once and shared between all referencing objects. Normalization has to be idempotent: normalizing an already normalized data source must return the same value again.

Relative URLs are resolved against the URL the project was loaded from, and against the document base URL for projects without one.

Parameters

dataSource

TShapesDataSource

The data source to normalize

projectUrl

string | null

The absolute URL of the project, or null for projects that were not loaded from a URL

Returns

TNormalizedShapesDataSource

The normalized data source

Inherited from

AnnotatedDataProvider.normalize