UNPKG

@golemio/parkings

Version:
422 lines (421 loc) • 19.7 kB
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv"; import { IIptOictParkingProperties } from "./interfaces/IIptOictParkingProperties"; import { IIptOictParkingSpacesProperties } from "./interfaces/IIptOictParkingSpacesProperties"; export declare class IptOictFeatureCollectionSchemaGenerator { static getParkingSchema(): { type: string; properties: { type: { type: string; enum: string[]; }; features: { type: string; items: { type: string; properties: { type: { type: string; enum: string[]; }; geometry: { $id: string; title: string; description: string; type: string; required: string[]; oneOf: ({ title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; minItems: number; maxItems: number; items: { type: string; minItems?: undefined; items?: undefined; }; additionalItems: boolean; }; }; } | { title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; minItems?: undefined; items?: undefined; }; }; }; minItems?: undefined; maxItems?: undefined; additionalItems?: undefined; }; }; } | { title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; items: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; }; }; }; minItems?: undefined; }; minItems?: undefined; maxItems?: undefined; additionalItems?: undefined; }; }; })[]; }; properties: JSONSchemaType<IIptOictParkingProperties>; }; required: string[]; }; }; }; required: string[]; }; static getParkingSpacesSchema(): { type: string; properties: { type: { type: string; enum: string[]; }; features: { type: string; items: { type: string; properties: { type: { type: string; enum: string[]; }; geometry: { $id: string; title: string; description: string; type: string; required: string[]; oneOf: ({ title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; minItems: number; maxItems: number; items: { type: string; minItems?: undefined; items?: undefined; }; additionalItems: boolean; }; }; } | { title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; minItems?: undefined; items?: undefined; }; }; }; minItems?: undefined; maxItems?: undefined; additionalItems?: undefined; }; }; } | { title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; items: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; }; }; }; minItems?: undefined; }; minItems?: undefined; maxItems?: undefined; additionalItems?: undefined; }; }; })[]; }; properties: JSONSchemaType<IIptOictParkingSpacesProperties>; }; required: string[]; }; }; }; required: string[]; }; static getParkingEntrancesSchema(): { type: string; properties: { type: { type: string; enum: string[]; }; features: { type: string; items: { type: string; properties: { type: { type: string; enum: string[]; }; geometry: { $id: string; title: string; description: string; type: string; required: string[]; oneOf: ({ title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; minItems: number; maxItems: number; items: { type: string; minItems?: undefined; items?: undefined; }; additionalItems: boolean; }; }; } | { title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; minItems?: undefined; items?: undefined; }; }; }; minItems?: undefined; maxItems?: undefined; additionalItems?: undefined; }; }; } | { title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; items: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; }; }; }; minItems?: undefined; }; minItems?: undefined; maxItems?: undefined; additionalItems?: undefined; }; }; })[]; }; properties: JSONSchemaType<IIptOictParkingSpacesProperties>; }; required: string[]; }; }; }; required: string[]; }; protected static getSchema<T>(propertiesSchema: JSONSchemaType<T>): { type: string; properties: { type: { type: string; enum: string[]; }; features: { type: string; items: { type: string; properties: { type: { type: string; enum: string[]; }; geometry: { $id: string; title: string; description: string; type: string; required: string[]; oneOf: ({ title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; minItems: number; maxItems: number; items: { type: string; minItems?: undefined; items?: undefined; }; additionalItems: boolean; }; }; } | { title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; minItems?: undefined; items?: undefined; }; }; }; minItems?: undefined; maxItems?: undefined; additionalItems?: undefined; }; }; } | { title: string; properties: { type: { enum: string[]; }; coordinates: { type: string; items: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; }; }; }; minItems?: undefined; }; minItems?: undefined; maxItems?: undefined; additionalItems?: undefined; }; }; })[]; }; properties: JSONSchemaType<T>; }; required: string[]; }; }; }; required: string[]; }; }