Use union type instead of enum for feature format

This commit is contained in:
Tim Schaub
2021-09-05 10:59:57 -06:00
committed by Andreas Hocevar
parent 03dbe1f9a1
commit d05204f50b
9 changed files with 21 additions and 37 deletions
+5 -1
View File
@@ -51,6 +51,10 @@ import {
* Default is no rounding.
*/
/**
* @typedef {'arraybuffer' | 'json' | 'text' | 'xml'} Type
*/
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
@@ -134,7 +138,7 @@ class FeatureFormat {
/**
* @abstract
* @return {import("./FormatType.js").default} Format.
* @return {Type} The format type.
*/
getType() {
return abstract();
-13
View File
@@ -1,13 +0,0 @@
/**
* @module ol/format/FormatType
*/
/**
* @enum {string}
*/
export default {
ARRAY_BUFFER: 'arraybuffer',
JSON: 'json',
TEXT: 'text',
XML: 'xml',
};
+2 -3
View File
@@ -2,7 +2,6 @@
* @module ol/format/JSONFeature
*/
import FeatureFormat from './Feature.js';
import FormatType from './FormatType.js';
import {abstract} from '../util.js';
/**
@@ -19,10 +18,10 @@ class JSONFeature extends FeatureFormat {
}
/**
* @return {import("./FormatType.js").default} Format.
* @return {import("./Feature.js").Type} Format.
*/
getType() {
return FormatType.JSON;
return 'json';
}
/**
+2 -3
View File
@@ -4,7 +4,6 @@
//FIXME Implement projection handling
import FeatureFormat, {transformGeometryWithOptions} from './Feature.js';
import FormatType from './FormatType.js';
import GeometryLayout from '../geom/GeometryLayout.js';
import LineString from '../geom/LineString.js';
import MultiLineString from '../geom/MultiLineString.js';
@@ -238,10 +237,10 @@ class MVT extends FeatureFormat {
}
/**
* @return {import("./FormatType.js").default} Format.
* @return {import("./Feature.js").Type} Format.
*/
getType() {
return FormatType.ARRAY_BUFFER;
return 'arraybuffer';
}
/**
+2 -3
View File
@@ -2,7 +2,6 @@
* @module ol/format/TextFeature
*/
import FeatureFormat from '../format/Feature.js';
import FormatType from '../format/FormatType.js';
import {abstract} from '../util.js';
/**
@@ -19,10 +18,10 @@ class TextFeature extends FeatureFormat {
}
/**
* @return {import("./FormatType.js").default} Format.
* @return {import("./Feature.js").Type} Format.
*/
getType() {
return FormatType.TEXT;
return 'text';
}
/**
+2 -3
View File
@@ -3,7 +3,6 @@
*/
import Feature from '../Feature.js';
import FeatureFormat, {transformGeometryWithOptions} from './Feature.js';
import FormatType from './FormatType.js';
import GeometryCollection from '../geom/GeometryCollection.js';
import GeometryLayout from '../geom/GeometryLayout.js';
import LineString from '../geom/LineString.js';
@@ -691,10 +690,10 @@ class WKB extends FeatureFormat {
}
/**
* @return {import("./FormatType.js").default} Format.
* @return {import("./Feature.js").Type} Format.
*/
getType() {
return this.hex_ ? FormatType.TEXT : FormatType.ARRAY_BUFFER;
return this.hex_ ? 'text' : 'arraybuffer';
}
/**
+2 -3
View File
@@ -2,7 +2,6 @@
* @module ol/format/XMLFeature
*/
import FeatureFormat from '../format/Feature.js';
import FormatType from '../format/FormatType.js';
import {abstract} from '../util.js';
import {extend} from '../array.js';
import {getXMLSerializer, isDocument, parse} from '../xml.js';
@@ -27,10 +26,10 @@ class XMLFeature extends FeatureFormat {
}
/**
* @return {import("./FormatType.js").default} Format.
* @return {import("./Feature.js").Type} Format.
*/
getType() {
return FormatType.XML;
return 'xml';
}
/**