From bb954e7e2c4013eb963fdf01889d6558c1aa0bdb Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 8 Jan 2018 11:40:36 +0100 Subject: [PATCH 1/3] Move IGCZ enum to src/ol/format/IGC.js --- externs/olx.js | 4 ++-- src/ol/format/IGC.js | 24 +++++++++++++++--------- src/ol/format/IGCZ.js | 13 ------------- 3 files changed, 17 insertions(+), 24 deletions(-) delete mode 100644 src/ol/format/IGCZ.js diff --git a/externs/olx.js b/externs/olx.js index 7b95c97a5b..364786b711 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -1538,7 +1538,7 @@ olx.format.TopoJSONOptions.prototype.layers; /** - * @typedef {{altitudeMode: (ol.format.IGCZ|undefined)}} + * @typedef {{altitudeMode: (ol.format.IGCZ|string|undefined)}} */ olx.format.IGCOptions; @@ -1546,7 +1546,7 @@ olx.format.IGCOptions; /** * Altitude mode. Possible values are `barometric`, `gps`, and `none`. Default * is `none`. - * @type {ol.format.IGCZ|undefined} + * @type {ol.format.IGCZ|string|undefined} * @api */ olx.format.IGCOptions.prototype.altitudeMode; diff --git a/src/ol/format/IGC.js b/src/ol/format/IGC.js index 98f341b117..f67dee6d06 100644 --- a/src/ol/format/IGC.js +++ b/src/ol/format/IGC.js @@ -4,12 +4,21 @@ import {inherits} from '../index.js'; import _ol_Feature_ from '../Feature.js'; import {transformWithOptions} from '../format/Feature.js'; -import _ol_format_IGCZ_ from '../format/IGCZ.js'; import TextFeature from '../format/TextFeature.js'; import GeometryLayout from '../geom/GeometryLayout.js'; import LineString from '../geom/LineString.js'; import {get as getProjection} from '../proj.js'; +/** + * IGC altitude/z. One of 'barometric', 'gps', 'none'. + * @enum {string} + */ +var IGCZ = { + BAROMETRIC: 'barometric', + GPS: 'gps', + NONE: 'none' +}; + /** * @classdesc * Feature format for `*.igc` flight recording files. @@ -34,9 +43,7 @@ var IGC = function(opt_options) { * @private * @type {ol.format.IGCZ} */ - this.altitudeMode_ = options.altitudeMode ? - options.altitudeMode : _ol_format_IGCZ_.NONE; - + this.altitudeMode_ = options.altitudeMode ? options.altitudeMode : IGCZ.NONE; }; inherits(IGC, TextFeature); @@ -121,11 +128,11 @@ IGC.prototype.readFeatureFromText = function(text, opt_options) { x = -x; } flatCoordinates.push(x, y); - if (altitudeMode != _ol_format_IGCZ_.NONE) { + if (altitudeMode != IGCZ.NONE) { var z; - if (altitudeMode == _ol_format_IGCZ_.GPS) { + if (altitudeMode == IGCZ.GPS) { z = parseInt(m[11], 10); - } else if (altitudeMode == _ol_format_IGCZ_.BAROMETRIC) { + } else if (altitudeMode == IGCZ.BAROMETRIC) { z = parseInt(m[12], 10); } else { z = 0; @@ -158,8 +165,7 @@ IGC.prototype.readFeatureFromText = function(text, opt_options) { return null; } var lineString = new LineString(null); - var layout = altitudeMode == _ol_format_IGCZ_.NONE ? - GeometryLayout.XYM : GeometryLayout.XYZM; + var layout = altitudeMode == IGCZ.NONE ? GeometryLayout.XYM : GeometryLayout.XYZM; lineString.setFlatCoordinates(layout, flatCoordinates); var feature = new _ol_Feature_(transformWithOptions(lineString, false, opt_options)); feature.setProperties(properties); diff --git a/src/ol/format/IGCZ.js b/src/ol/format/IGCZ.js deleted file mode 100644 index 4cc557be82..0000000000 --- a/src/ol/format/IGCZ.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @module ol/format/IGCZ - */ - -/** - * IGC altitude/z. One of 'barometric', 'gps', 'none'. - * @enum {string} - */ -export default { - BAROMETRIC: 'barometric', - GPS: 'gps', - NONE: 'none' -}; From 4934318a5a275f38cab2fe94627c24391d8e23bb Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 8 Jan 2018 11:45:12 +0100 Subject: [PATCH 2/3] Don't export private constants --- src/ol/format/IGC.js | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/ol/format/IGC.js b/src/ol/format/IGC.js index f67dee6d06..733280b2a9 100644 --- a/src/ol/format/IGC.js +++ b/src/ol/format/IGC.js @@ -52,26 +52,23 @@ inherits(IGC, TextFeature); /** * @const * @type {RegExp} - * @private */ -IGC.B_RECORD_RE_ = +var B_RECORD_RE = /^B(\d{2})(\d{2})(\d{2})(\d{2})(\d{5})([NS])(\d{3})(\d{5})([EW])([AV])(\d{5})(\d{5})/; /** * @const * @type {RegExp} - * @private */ -IGC.H_RECORD_RE_ = /^H.([A-Z]{3}).*?:(.*)/; +var H_RECORD_RE = /^H.([A-Z]{3}).*?:(.*)/; /** * @const * @type {RegExp} - * @private */ -IGC.HFDTE_RECORD_RE_ = /^HFDTE(\d{2})(\d{2})(\d{2})/; +var HFDTE_RECORD_RE = /^HFDTE(\d{2})(\d{2})(\d{2})/; /** @@ -79,9 +76,8 @@ IGC.HFDTE_RECORD_RE_ = /^HFDTE(\d{2})(\d{2})(\d{2})/; * * @const * @type {RegExp} - * @private */ -IGC.NEWLINE_RE_ = /\r\n|\r|\n/; +var NEWLINE_RE = /\r\n|\r|\n/; /** @@ -101,7 +97,7 @@ IGC.prototype.readFeature; */ IGC.prototype.readFeatureFromText = function(text, opt_options) { var altitudeMode = this.altitudeMode_; - var lines = text.split(IGC.NEWLINE_RE_); + var lines = text.split(NEWLINE_RE); /** @type {Object.} */ var properties = {}; var flatCoordinates = []; @@ -114,7 +110,7 @@ IGC.prototype.readFeatureFromText = function(text, opt_options) { var line = lines[i]; var m; if (line.charAt(0) == 'B') { - m = IGC.B_RECORD_RE_.exec(line); + m = B_RECORD_RE.exec(line); if (m) { var hour = parseInt(m[1], 10); var minute = parseInt(m[2], 10); @@ -148,13 +144,13 @@ IGC.prototype.readFeatureFromText = function(text, opt_options) { lastDateTime = dateTime; } } else if (line.charAt(0) == 'H') { - m = IGC.HFDTE_RECORD_RE_.exec(line); + m = HFDTE_RECORD_RE.exec(line); if (m) { day = parseInt(m[1], 10); month = parseInt(m[2], 10) - 1; year = 2000 + parseInt(m[3], 10); } else { - m = IGC.H_RECORD_RE_.exec(line); + m = H_RECORD_RE.exec(line); if (m) { properties[m[1]] = m[2].trim(); } From 3ce7cae3384726d8c7811b5ff8dac8ec7424a31c Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Tue, 9 Jan 2018 08:25:27 +0100 Subject: [PATCH 3/3] Change ol.format.IGCZ type to IGCZ --- externs/olx.js | 4 ++-- src/ol/format/IGC.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/externs/olx.js b/externs/olx.js index 364786b711..b6571db758 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -1538,7 +1538,7 @@ olx.format.TopoJSONOptions.prototype.layers; /** - * @typedef {{altitudeMode: (ol.format.IGCZ|string|undefined)}} + * @typedef {{altitudeMode: (IGCZ|string|undefined)}} */ olx.format.IGCOptions; @@ -1546,7 +1546,7 @@ olx.format.IGCOptions; /** * Altitude mode. Possible values are `barometric`, `gps`, and `none`. Default * is `none`. - * @type {ol.format.IGCZ|string|undefined} + * @type {IGCZ|string|undefined} * @api */ olx.format.IGCOptions.prototype.altitudeMode; diff --git a/src/ol/format/IGC.js b/src/ol/format/IGC.js index 733280b2a9..a8c46e94c3 100644 --- a/src/ol/format/IGC.js +++ b/src/ol/format/IGC.js @@ -41,7 +41,7 @@ var IGC = function(opt_options) { /** * @private - * @type {ol.format.IGCZ} + * @type {IGCZ} */ this.altitudeMode_ = options.altitudeMode ? options.altitudeMode : IGCZ.NONE; };