From 765fc4c279a201ff458fd6081f9c41dac8a92662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Tue, 7 Apr 2015 14:01:12 +0200 Subject: [PATCH] Add a type alias to goog.vec.Number This addition is related to the definition of olx.FrameState in olx.js. Without this alias and corresponding goog.provide in src/ol/vec/mat4.js we get this error when compiling an OpenLayers application: ERR! compile node_modules/openlayers/externs/olx.js:6853: ERROR - Bad type annotation. Unknown type goog.vec.Mat4.Number ERR! compile * coordinateToPixelMatrix: goog.vec.Mat4.Number, Currently, the Closure Library does not have a goog.provide for goog.vec.Mat4.Number. If it did have this goog.provide then we wouldn't have the error. This commit works around the issue by creating our own type alias (ol.vec.Mat4.Number) and adding a goog.provide for that type alias. --- externs/olx.js | 4 ++-- src/ol/vec/mat4.js | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/externs/olx.js b/externs/olx.js index 5e0d75e784..5babe3e053 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -6850,7 +6850,7 @@ olx.view.FitGeometryOptions.prototype.maxZoom; /** * @typedef {{animate: boolean, * attributions: Object., - * coordinateToPixelMatrix: goog.vec.Mat4.Number, + * coordinateToPixelMatrix: ol.vec.Mat4.Number, * extent: (null|ol.Extent), * focus: ol.Coordinate, * index: number, @@ -6858,7 +6858,7 @@ olx.view.FitGeometryOptions.prototype.maxZoom; * layerStatesArray: Array., * logos: Object., * pixelRatio: number, - * pixelToCoordinateMatrix: goog.vec.Mat4.Number, + * pixelToCoordinateMatrix: ol.vec.Mat4.Number, * postRenderFunctions: Array., * size: ol.Size, * skippedFeatureUids: Object., diff --git a/src/ol/vec/mat4.js b/src/ol/vec/mat4.js index 54e7df7e71..4fa6f5ca77 100644 --- a/src/ol/vec/mat4.js +++ b/src/ol/vec/mat4.js @@ -1,8 +1,16 @@ goog.provide('ol.vec.Mat4'); +goog.provide('ol.vec.Mat4.Number'); goog.require('goog.vec.Mat4'); +/** + * A alias for the goog.vec.Number type. + * @typedef {goog.vec.Number} + */ +ol.vec.Mat4.Number; + + /** * @param {!goog.vec.Mat4.Number} mat Matrix. * @param {number} translateX1 Translate X1.