Merge pull request #5698 from tschaub/no-unused-requires

Custom rule to identify unused goog.require() calls
This commit is contained in:
Tim Schaub
2016-08-08 18:23:49 -06:00
committed by GitHub
288 changed files with 1551 additions and 1343 deletions

View File

@@ -2,8 +2,6 @@ goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.format.GeoJSON');
goog.require('ol.geom.Point');
goog.require('ol.geom.SimpleGeometry');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.OSM');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.geom.MultiPoint');

View File

@@ -1,5 +1,4 @@
// NOCOMPILE
goog.require('ol.Attribution');
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');

View File

@@ -1,6 +1,5 @@
// NOCOMPILE
// this example uses JSTS for which we don't have an externs file.
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.GeoJSON');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');

View File

@@ -1,4 +1,4 @@
goog.require('ol.Attribution');
/* eslint-disable openlayers-internal/no-unused-requires */
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.MVT');

View File

@@ -1,4 +1,5 @@
goog.require('ol.Attribution');
/* eslint-disable openlayers-internal/no-unused-requires */
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.MVT');
@@ -9,6 +10,7 @@ goog.require('ol.style.Icon');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.style.Text');
goog.require('ol.tilegrid');
var key = 'pk.eyJ1IjoiYWhvY2V2YXIiLCJhIjoiRk1kMWZaSSJ9.E5BkluenyWQMsBLsuByrmg';

View File

@@ -7,6 +7,7 @@ goog.require('ol.source.VectorTile');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.tilegrid');
var format = new ol.format.TopoJSON();

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.extent');

View File

@@ -1,6 +1,5 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.interaction');
goog.require('ol.interaction.Draw');
goog.require('ol.interaction.Modify');
goog.require('ol.interaction.Select');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.extent');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.GeoJSON');

View File

@@ -1,6 +1,5 @@
// NOCOMPILE
// this example uses turf.js for which we don't have an externs file.
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.GeoJSON');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.EsriJSON');
@@ -12,6 +11,7 @@ goog.require('ol.loadingstrategy');
goog.require('ol.proj');
goog.require('ol.source.Vector');
goog.require('ol.source.XYZ');
goog.require('ol.tilegrid');
var serviceUrl = 'http://services.arcgis.com/rOo16HdIMeOBI4Mb/arcgis/rest/' +

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.EsriJSON');
@@ -11,6 +10,7 @@ goog.require('ol.source.XYZ');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.tilegrid');
var serviceUrl = 'http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/' +

View File

@@ -12,6 +12,7 @@ goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.tilegrid');
var styles = {
'amenity': {

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Image');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.extent');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');

View File

@@ -1,7 +1,6 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.proj.Projection');
goog.require('ol.source.Zoomify');

View File

@@ -35,6 +35,7 @@
"browserify": "13.1.0",
"closure-util": "1.15.0",
"derequire": "2.0.3",
"eslint-plugin-openlayers-internal": "file:rules",
"fs-extra": "0.30.0",
"glob": "7.0.5",
"handlebars": "4.0.5",
@@ -82,6 +83,9 @@
"goog": false,
"proj4": false
},
"plugins": [
"openlayers-internal"
],
"rules": {
"no-console": [
2,
@@ -91,7 +95,11 @@
]
}
],
"no-constant-condition": 0
"no-constant-condition": 0,
"openlayers-internal/no-duplicate-requires": 2,
"openlayers-internal/no-unused-requires": 2,
"openlayers-internal/requires-first": 2,
"openlayers-internal/valid-requires": 2
}
},
"ext": [

8
rules/.eslintrc Normal file
View File

@@ -0,0 +1,8 @@
{
"env": {
"es6": true
},
"rules": {
"strict": [2, "global"]
}
}

10
rules/index.js Normal file
View File

@@ -0,0 +1,10 @@
'use strict';
module.exports = {
rules: {
'no-duplicate-requires': require('./no-duplicate-requires').rule,
'no-unused-requires': require('./no-unused-requires').rule,
'requires-first': require('./requires-first').rule,
'valid-requires': require('./valid-requires').rule
}
};

View File

@@ -0,0 +1,48 @@
'use strict';
const util = require('./util');
exports.rule = {
meta: {
docs: {
description: 'disallow duplicate goog.require() calls'
},
fixable: 'code'
},
create: function(context) {
const alreadyRequired = {};
return {
ExpressionStatement: function(statement) {
if (util.isRequireStatement(statement)) {
const expression = statement.expression;
if (!expression.arguments[0]) {
return;
}
const name = expression.arguments[0].value;
if (alreadyRequired[name]) {
const source = context.getSourceCode();
return context.report({
node: statement,
message: `Duplicate goog.require('${name}')`,
fix: function(fixer) {
const afterToken = source.getTokenAfter(statement);
const range = [
statement.range[0],
afterToken ? afterToken.range[0] : statement.range[1]
];
return fixer.removeRange(range);
}
});
}
alreadyRequired[name] = true;
}
}
};
}
};

113
rules/no-unused-requires.js Normal file
View File

@@ -0,0 +1,113 @@
'use strict';
const util = require('./util');
function getName(node) {
if (node.type !== 'MemberExpression') {
return;
}
if (node.property.type !== 'Identifier' || node.property.computed) {
return;
}
let objectName;
if (node.object.type === 'Identifier' && !node.object.computed) {
objectName = node.object.name;
} else if (node.object.type === 'MemberExpression' && !node.object.computed) {
objectName = getName(node.object);
}
if (!objectName) {
return;
}
return `${objectName}.${node.property.name}`;
}
exports.rule = {
meta: {
docs: {
description: 'disallow unused goog.require() calls'
},
fixable: 'code'
},
create: function(context) {
// a lookup of goog.require() nodes by argument
const requireStatements = {};
// used names from member expressions that match the goog.require() arg
const usedNames = {};
return {
ExpressionStatement: function(statement) {
if (util.isRequireStatement(statement)) {
const expression = statement.expression;
const arg = expression.arguments[0];
if (!arg || !arg.value) {
return;
}
const name = arg.value;
const ancestors = context.getAncestors();
const parent = ancestors[ancestors.length - 1];
if (!parent) {
return;
}
requireStatements[name] = statement;
}
},
MemberExpression: function(node) {
const name = getName(node);
if (name in requireStatements) {
const requiredAncestor = context.getAncestors().some(ancestorNode => !!requireStatements[getName(ancestorNode)]);
if (!requiredAncestor) {
usedNames[name] = true;
}
}
},
Identifier: function(node) {
const name = node.name;
if (name in requireStatements) {
const ancestors = context.getAncestors();
if (ancestors.length && ancestors[0].type === 'MemberExpression') {
const requiredAncestor = context.getAncestors().some(ancestorNode => !!requireStatements[getName(ancestorNode)]);
if (!requiredAncestor) {
usedNames[name] = true;
}
} else {
usedNames[name] = true;
}
}
},
'Program:exit': function(node) {
const source = context.getSourceCode();
for (let name in requireStatements) {
if (!usedNames[name]) {
const unusedRequire = requireStatements[name];
context.report({
node: unusedRequire,
message: `Unused ${source.getText(unusedRequire)}`,
fix: function(fixer) {
const afterToken = source.getTokenAfter(unusedRequire);
const range = [
unusedRequire.range[0],
afterToken ? afterToken.range[0] : unusedRequire.range[1]
];
return fixer.removeRange(range);
}
});
}
}
}
};
}
};

6
rules/package.json Normal file
View File

@@ -0,0 +1,6 @@
{
"name": "eslint-plugin-openlayers-internal",
"version": "1.0.0",
"description": "Custom ESLint rules for the OpenLayers project",
"main": "index.js"
}

30
rules/requires-first.js Normal file
View File

@@ -0,0 +1,30 @@
'use strict';
const util = require('./util');
exports.rule = {
meta: {
docs: {
description: 'require that all goog.require() precede other statements (except goog.provide())'
}
},
create: function(context) {
return {
Program: function(program) {
let otherSeen = false;
program.body.forEach(statement => {
if (util.isRequireStatement(statement)) {
if (otherSeen) {
return context.report(statement, 'Expected goog.require() to precede other statements');
}
} else if (!util.isProvideStatement(statement)) {
otherSeen = true;
}
});
}
};
}
};

30
rules/util.js Normal file
View File

@@ -0,0 +1,30 @@
'use strict';
function isGoogCallExpression(node, name) {
const callee = node.callee;
return callee && callee.type === 'MemberExpression' &&
callee.object.type === 'Identifier' && callee.object.name === 'goog' &&
callee.property.type === 'Identifier' && !callee.property.computed &&
callee.property.name === name;
}
function isGoogStatement(node, name) {
return node.expression && node.expression.type === 'CallExpression' &&
isGoogCallExpression(node.expression, name);
}
exports.isProvideExpression = function(node) {
return isGoogCallExpression(node, 'provide');
};
exports.isProvideStatement = function(node) {
return isGoogStatement(node, 'provide');
};
exports.isRequireExpression = function(node) {
return isGoogCallExpression(node, 'require');
};
exports.isRequireStatement = function(node) {
return isGoogStatement(node, 'require');
};

38
rules/valid-requires.js Normal file
View File

@@ -0,0 +1,38 @@
'use strict';
const util = require('./util');
exports.rule = {
meta: {
docs: {
description: 'require that all goog.require() have a valid arg and appear at the top level'
}
},
create: function(context) {
return {
CallExpression: function(expression) {
if (util.isRequireExpression(expression)) {
const ancestors = context.getAncestors();
const parent = ancestors[ancestors.length - 1];
if (parent.type !== 'ExpressionStatement') {
return context.report(expression, 'Expected goog.require() to in an expression statement');
}
if (ancestors.length !== 2) {
return context.report(expression, 'Expected goog.require() to be at the top level');
}
if (expression.arguments.length !== 1) {
return context.report(expression, 'Expected one argument for goog.require()');
}
const arg = expression.arguments[0];
if (arg.type !== 'Literal' || !arg.value || typeof arg.value !== 'string') {
return context.report(expression, 'Expected goog.require() to be called with a string');
}
}
}
};
}
};

View File

@@ -2,6 +2,7 @@ goog.provide('ol.Attribution');
goog.require('ol.TileRange');
goog.require('ol.math');
goog.require('ol.tilegrid');
/**

View File

@@ -4,7 +4,6 @@ goog.provide('ol.control.Attribution');
goog.require('ol');
goog.require('ol.dom');
goog.require('ol.Attribution');
goog.require('ol.control.Control');
goog.require('ol.css');
goog.require('ol.events');

View File

@@ -7,7 +7,6 @@ goog.require('ol.events.EventType');
goog.require('ol.Object');
goog.require('ol.control.Control');
goog.require('ol.proj');
goog.require('ol.proj.Projection');
/**

View File

@@ -10,7 +10,6 @@ goog.require('ol.Object');
goog.require('ol.ObjectEventType');
goog.require('ol.Overlay');
goog.require('ol.OverlayPositioning');
goog.require('ol.View');
goog.require('ol.ViewProperty');
goog.require('ol.control.Control');
goog.require('ol.coordinate');

View File

@@ -1,10 +1,7 @@
goog.provide('ol.featureloader');
goog.require('ol.TileState');
goog.require('ol.VectorTile');
goog.require('ol.format.FormatType');
goog.require('ol.proj');
goog.require('ol.proj.Projection');
goog.require('ol.xml');

View File

@@ -2,7 +2,6 @@ goog.provide('ol.format.GML3');
goog.require('ol');
goog.require('ol.array');
goog.require('ol.Feature');
goog.require('ol.extent');
goog.require('ol.format.Feature');
goog.require('ol.format.GMLBase');
@@ -10,10 +9,8 @@ goog.require('ol.format.XSD');
goog.require('ol.geom.Geometry');
goog.require('ol.geom.GeometryLayout');
goog.require('ol.geom.LineString');
goog.require('ol.geom.LinearRing');
goog.require('ol.geom.MultiLineString');
goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon');
goog.require('ol.obj');
goog.require('ol.proj');

View File

@@ -7,7 +7,6 @@ goog.require('ol.array');
goog.require('ol.Feature');
goog.require('ol.format.Feature');
goog.require('ol.format.XMLFeature');
goog.require('ol.geom.Geometry');
goog.require('ol.geom.GeometryLayout');
goog.require('ol.geom.LineString');
goog.require('ol.geom.LinearRing');

View File

@@ -13,7 +13,6 @@ goog.require('ol.color');
goog.require('ol.format.Feature');
goog.require('ol.format.XMLFeature');
goog.require('ol.format.XSD');
goog.require('ol.geom.Geometry');
goog.require('ol.geom.GeometryCollection');
goog.require('ol.geom.GeometryLayout');
goog.require('ol.geom.GeometryType');
@@ -31,7 +30,6 @@ goog.require('ol.style.Fill');
goog.require('ol.style.Icon');
goog.require('ol.style.IconAnchorUnits');
goog.require('ol.style.IconOrigin');
goog.require('ol.style.Image');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.style.Text');

View File

@@ -2,12 +2,10 @@
goog.provide('ol.format.MVT');
goog.require('ol.Feature');
goog.require('ol.ext.pbf');
goog.require('ol.ext.vectortile');
goog.require('ol.format.Feature');
goog.require('ol.format.FormatType');
goog.require('ol.geom.Geometry');
goog.require('ol.geom.GeometryLayout');
goog.require('ol.geom.GeometryType');
goog.require('ol.geom.LineString');
@@ -15,7 +13,6 @@ goog.require('ol.geom.MultiLineString');
goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon');
goog.require('ol.proj');
goog.require('ol.proj.Projection');
goog.require('ol.proj.Units');
goog.require('ol.render.Feature');

View File

@@ -4,14 +4,6 @@ goog.require('ol');
goog.require('ol.format.GML3');
goog.require('ol.format.GMLBase');
goog.require('ol.format.ogc.filter');
goog.require('ol.format.ogc.filter.Bbox');
goog.require('ol.format.ogc.filter.ComparisonBinary');
goog.require('ol.format.ogc.filter.Intersects');
goog.require('ol.format.ogc.filter.LogicalBinary');
goog.require('ol.format.ogc.filter.Not');
goog.require('ol.format.ogc.filter.IsBetween');
goog.require('ol.format.ogc.filter.IsNull');
goog.require('ol.format.ogc.filter.IsLike');
goog.require('ol.format.XMLFeature');
goog.require('ol.format.XSD');
goog.require('ol.geom.Geometry');

View File

@@ -4,7 +4,6 @@ goog.require('ol');
goog.require('ol.Feature');
goog.require('ol.format.Feature');
goog.require('ol.format.TextFeature');
goog.require('ol.geom.Geometry');
goog.require('ol.geom.GeometryCollection');
goog.require('ol.geom.GeometryType');
goog.require('ol.geom.LineString');

View File

@@ -3,7 +3,6 @@ goog.provide('ol.format.XMLFeature');
goog.require('ol.array');
goog.require('ol.format.Feature');
goog.require('ol.format.FormatType');
goog.require('ol.proj');
goog.require('ol.xml');

View File

@@ -5,7 +5,6 @@ goog.provide('ol.Geolocation');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.Object');
goog.require('ol.geom.Geometry');
goog.require('ol.geom.Polygon');
goog.require('ol.has');
goog.require('ol.math');

View File

@@ -3,7 +3,6 @@ goog.provide('ol.ImageState');
goog.require('ol.events.EventTarget');
goog.require('ol.events.EventType');
goog.require('ol.Attribution');
/**

View File

@@ -1,6 +1,5 @@
goog.provide('ol.interaction.DoubleClickZoom');
goog.require('ol.MapBrowserEvent');
goog.require('ol.MapBrowserEvent.EventType');
goog.require('ol.interaction.Interaction');

View File

@@ -1,7 +1,5 @@
goog.provide('ol.interaction.DragPan');
goog.require('ol.Kinetic');
goog.require('ol.ViewHint');
goog.require('ol.coordinate');
goog.require('ol.functions');

View File

@@ -5,9 +5,7 @@ goog.provide('ol.interaction.DrawMode');
goog.require('ol.events');
goog.require('ol.events.Event');
goog.require('ol.Collection');
goog.require('ol.Feature');
goog.require('ol.MapBrowserEvent');
goog.require('ol.MapBrowserEvent.EventType');
goog.require('ol.Object');
goog.require('ol.coordinate');
@@ -21,7 +19,6 @@ goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon');
goog.require('ol.geom.SimpleGeometry');
goog.require('ol.interaction.InteractionProperty');
goog.require('ol.interaction.Pointer');
goog.require('ol.layer.Vector');

View File

@@ -4,7 +4,6 @@ goog.provide('ol.interaction.Interaction');
goog.provide('ol.interaction.InteractionProperty');
goog.require('ol');
goog.require('ol.MapBrowserEvent');
goog.require('ol.Object');
goog.require('ol.animation');
goog.require('ol.easing');

View File

@@ -15,12 +15,7 @@ goog.require('ol.coordinate');
goog.require('ol.events.condition');
goog.require('ol.extent');
goog.require('ol.geom.GeometryType');
goog.require('ol.geom.LineString');
goog.require('ol.geom.MultiLineString');
goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon');
goog.require('ol.interaction.Pointer');
goog.require('ol.layer.Vector');
goog.require('ol.source.Vector');

View File

@@ -3,18 +3,15 @@ goog.provide('ol.interaction.SnapProperty');
goog.require('ol');
goog.require('ol.Collection');
goog.require('ol.Feature');
goog.require('ol.Object');
goog.require('ol.Observable');
goog.require('ol.coordinate');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.extent');
goog.require('ol.geom.Geometry');
goog.require('ol.interaction.Pointer');
goog.require('ol.functions');
goog.require('ol.obj');
goog.require('ol.source.Vector');
goog.require('ol.source.VectorEvent');
goog.require('ol.source.VectorEventType');
goog.require('ol.structs.RBush');

View File

@@ -1,7 +1,6 @@
goog.provide('ol.interaction.Translate');
goog.provide('ol.interaction.TranslateEvent');
goog.require('ol.events');
goog.require('ol.events.Event');
goog.require('ol.array');
goog.require('ol.interaction.Pointer');

View File

@@ -5,7 +5,6 @@ goog.require('ol');
goog.require('ol.Object');
goog.require('ol.math');
goog.require('ol.obj');
goog.require('ol.source.State');
/**

View File

@@ -3,7 +3,6 @@ goog.provide('ol.layer.Vector');
goog.require('ol');
goog.require('ol.layer.Layer');
goog.require('ol.obj');
goog.require('ol.style.Style');
/**

View File

@@ -31,7 +31,6 @@ goog.require('ol.interaction');
goog.require('ol.layer.Group');
goog.require('ol.transform');
goog.require('ol.obj');
goog.require('ol.proj');
goog.require('ol.proj.common');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.canvas.Map');

View File

@@ -8,7 +8,6 @@ goog.require('ol.MapEvent');
goog.require('ol.events');
goog.require('ol.events.EventTarget');
goog.require('ol.events.EventType');
goog.require('ol.pointer.PointerEvent');
goog.require('ol.pointer.PointerEventHandler');

View File

@@ -3,7 +3,6 @@ goog.provide('ol.ObjectEvent');
goog.provide('ol.ObjectEventType');
goog.require('ol.Observable');
goog.require('ol.events');
goog.require('ol.events.Event');
goog.require('ol.obj');

View File

@@ -2,7 +2,6 @@ goog.provide('ol.Overlay');
goog.provide('ol.OverlayPositioning');
goog.require('ol.events');
goog.require('ol.Map');
goog.require('ol.MapEventType');
goog.require('ol.Object');
goog.require('ol.animation');

View File

@@ -31,7 +31,6 @@
goog.provide('ol.pointer.PointerEvent');
goog.require('ol.events');
goog.require('ol.events.Event');

View File

@@ -8,7 +8,6 @@ goog.provide('ol.render.canvas.PolygonReplay');
goog.provide('ol.render.canvas.ReplayGroup');
goog.provide('ol.render.canvas.TextReplay');
goog.require('ol.transform');
goog.require('ol');
goog.require('ol.array');
goog.require('ol.color');
@@ -20,9 +19,11 @@ goog.require('ol.geom.flat.simplify');
goog.require('ol.geom.flat.transform');
goog.require('ol.has');
goog.require('ol.obj');
goog.require('ol.render.IReplayGroup');
goog.require('ol.render.ReplayGroup');
goog.require('ol.render.VectorContext');
goog.require('ol.render.canvas');
goog.require('ol.render.replay');
goog.require('ol.transform');
/**
@@ -1806,15 +1807,15 @@ ol.render.canvas.TextReplay.prototype.setTextStyle = function(textStyle) {
/**
* @constructor
* @implements {ol.render.IReplayGroup}
* @extends {ol.render.ReplayGroup}
* @param {number} tolerance Tolerance.
* @param {ol.Extent} maxExtent Max extent.
* @param {number} resolution Resolution.
* @param {number=} opt_renderBuffer Optional rendering buffer.
* @struct
*/
ol.render.canvas.ReplayGroup = function(
tolerance, maxExtent, resolution, opt_renderBuffer) {
ol.render.canvas.ReplayGroup = function(tolerance, maxExtent, resolution, opt_renderBuffer) {
ol.render.ReplayGroup.call(this);
/**
* @private
@@ -1860,6 +1861,7 @@ ol.render.canvas.ReplayGroup = function(
this.hitDetectionTransform_ = ol.transform.create();
};
ol.inherits(ol.render.canvas.ReplayGroup, ol.render.ReplayGroup);
/**
@@ -1969,7 +1971,7 @@ ol.render.canvas.ReplayGroup.prototype.isEmpty = function() {
* @param {Object.<string, boolean>} skippedFeaturesHash Ids of features
* to skip.
* @param {Array.<ol.render.ReplayType>=} opt_replayTypes Ordered replay types
* to replay. Default is {@link ol.render.REPLAY_ORDER}
* to replay. Default is {@link ol.render.replay.ORDER}
*/
ol.render.canvas.ReplayGroup.prototype.replay = function(context, pixelRatio,
transform, viewRotation, skippedFeaturesHash, opt_replayTypes) {
@@ -1997,7 +1999,7 @@ ol.render.canvas.ReplayGroup.prototype.replay = function(context, pixelRatio,
context.closePath();
context.clip();
var replayTypes = opt_replayTypes ? opt_replayTypes : ol.render.REPLAY_ORDER;
var replayTypes = opt_replayTypes ? opt_replayTypes : ol.render.replay.ORDER;
var i, ii, j, jj, replays, replay;
for (i = 0, ii = zs.length; i < ii; ++i) {
replays = this.replaysByZIndex_[zs[i].toString()];
@@ -2040,8 +2042,8 @@ ol.render.canvas.ReplayGroup.prototype.replayHitDetection_ = function(
var i, ii, j, replays, replay, result;
for (i = 0, ii = zs.length; i < ii; ++i) {
replays = this.replaysByZIndex_[zs[i].toString()];
for (j = ol.render.REPLAY_ORDER.length - 1; j >= 0; --j) {
replay = replays[ol.render.REPLAY_ORDER[j]];
for (j = ol.render.replay.ORDER.length - 1; j >= 0; --j) {
replay = replays[ol.render.replay.ORDER[j]];
if (replay !== undefined) {
result = replay.replayHitDetection(context, transform, viewRotation,
skippedFeaturesHash, featureCallback, opt_hitExtent);

View File

@@ -2,7 +2,6 @@ goog.provide('ol.render.Event');
goog.provide('ol.render.EventType');
goog.require('ol.events.Event');
goog.require('ol.render.VectorContext');
/**

View File

@@ -1,54 +0,0 @@
goog.provide('ol.render.IReplayGroup');
goog.require('ol.render.VectorContext');
/**
* @enum {string}
*/
ol.render.ReplayType = {
IMAGE: 'Image',
LINE_STRING: 'LineString',
POLYGON: 'Polygon',
TEXT: 'Text'
};
/**
* @const
* @type {Array.<ol.render.ReplayType>}
*/
ol.render.REPLAY_ORDER = [
ol.render.ReplayType.POLYGON,
ol.render.ReplayType.LINE_STRING,
ol.render.ReplayType.IMAGE,
ol.render.ReplayType.TEXT
];
/**
* @interface
*/
ol.render.IReplayGroup = function() {
};
/* eslint-disable valid-jsdoc */
// TODO: enable valid-jsdoc for @interface methods when this issue is resolved
// https://github.com/eslint/eslint/issues/4887
/**
* @param {number|undefined} zIndex Z index.
* @param {ol.render.ReplayType} replayType Replay type.
* @return {ol.render.VectorContext} Replay.
*/
ol.render.IReplayGroup.prototype.getReplay = function(zIndex, replayType) {
};
/**
* @return {boolean} Is empty.
*/
ol.render.IReplayGroup.prototype.isEmpty = function() {
};

15
src/ol/render/replay.js Normal file
View File

@@ -0,0 +1,15 @@
goog.provide('ol.render.replay');
goog.require('ol.render.ReplayType');
/**
* @const
* @type {Array.<ol.render.ReplayType>}
*/
ol.render.replay.ORDER = [
ol.render.ReplayType.POLYGON,
ol.render.ReplayType.LINE_STRING,
ol.render.ReplayType.IMAGE,
ol.render.ReplayType.TEXT
];

View File

@@ -0,0 +1,24 @@
goog.provide('ol.render.ReplayGroup');
/**
* Base class for replay groups.
* @constructor
*/
ol.render.ReplayGroup = function() {};
/**
* @abstract
* @param {number|undefined} zIndex Z index.
* @param {ol.render.ReplayType} replayType Replay type.
* @return {ol.render.VectorContext} Replay.
*/
ol.render.ReplayGroup.prototype.getReplay = function(zIndex, replayType) {};
/**
* @abstract
* @return {boolean} Is empty.
*/
ol.render.ReplayGroup.prototype.isEmpty = function() {};

View File

@@ -0,0 +1,12 @@
goog.provide('ol.render.ReplayType');
/**
* @enum {string}
*/
ol.render.ReplayType = {
IMAGE: 'Image',
LINE_STRING: 'LineString',
POLYGON: 'Polygon',
TEXT: 'Text'
};

View File

@@ -1,12 +1,13 @@
goog.provide('ol.render.webgl.ImageReplay');
goog.provide('ol.render.webgl.ReplayGroup');
goog.require('ol.transform');
goog.require('ol.extent');
goog.require('ol.obj');
goog.require('ol.render.IReplayGroup');
goog.require('ol.render.ReplayGroup');
goog.require('ol.render.VectorContext');
goog.require('ol.render.replay');
goog.require('ol.render.webgl.imagereplay.defaultshader');
goog.require('ol.transform');
goog.require('ol.vec.Mat4');
goog.require('ol.webgl');
goog.require('ol.webgl.Buffer');
@@ -907,14 +908,14 @@ ol.render.webgl.ImageReplay.prototype.setImageStyle = function(imageStyle) {
/**
* @constructor
* @implements {ol.render.IReplayGroup}
* @extends {ol.render.ReplayGroup}
* @param {number} tolerance Tolerance.
* @param {ol.Extent} maxExtent Max extent.
* @param {number=} opt_renderBuffer Render buffer.
* @struct
*/
ol.render.webgl.ReplayGroup = function(
tolerance, maxExtent, opt_renderBuffer) {
ol.render.webgl.ReplayGroup = function(tolerance, maxExtent, opt_renderBuffer) {
ol.render.ReplayGroup.call(this);
/**
* @type {ol.Extent}
@@ -942,6 +943,7 @@ ol.render.webgl.ReplayGroup = function(
this.replays_ = {};
};
ol.inherits(ol.render.webgl.ReplayGroup, ol.render.ReplayGroup);
/**
@@ -1014,8 +1016,8 @@ ol.render.webgl.ReplayGroup.prototype.replay = function(context,
center, resolution, rotation, size, pixelRatio,
opacity, skippedFeaturesHash) {
var i, ii, replay;
for (i = 0, ii = ol.render.REPLAY_ORDER.length; i < ii; ++i) {
replay = this.replays_[ol.render.REPLAY_ORDER[i]];
for (i = 0, ii = ol.render.replay.ORDER.length; i < ii; ++i) {
replay = this.replays_[ol.render.replay.ORDER[i]];
if (replay !== undefined) {
replay.replay(context,
center, resolution, rotation, size, pixelRatio,
@@ -1048,8 +1050,8 @@ ol.render.webgl.ReplayGroup.prototype.replayHitDetection_ = function(context,
center, resolution, rotation, size, pixelRatio, opacity,
skippedFeaturesHash, featureCallback, oneByOne, opt_hitExtent) {
var i, replay, result;
for (i = ol.render.REPLAY_ORDER.length - 1; i >= 0; --i) {
replay = this.replays_[ol.render.REPLAY_ORDER[i]];
for (i = ol.render.replay.ORDER.length - 1; i >= 0; --i) {
replay = this.replays_[ol.render.replay.ORDER[i]];
if (replay !== undefined) {
result = replay.replay(context,
center, resolution, rotation, size, pixelRatio, opacity,

View File

@@ -1,8 +1,9 @@
goog.provide('ol.render.webgl.Immediate');
goog.require('ol.extent');
goog.require('ol.geom.GeometryType');
goog.require('ol.render.ReplayType');
goog.require('ol.render.VectorContext');
goog.require('ol.render.webgl.ImageReplay');
goog.require('ol.render.webgl.ReplayGroup');

View File

@@ -2,11 +2,9 @@ goog.provide('ol.renderer.canvas.ImageLayer');
goog.require('ol.transform');
goog.require('ol.functions');
goog.require('ol.ImageBase');
goog.require('ol.ViewHint');
goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.layer.Image');
goog.require('ol.proj');
goog.require('ol.renderer.canvas.Layer');
goog.require('ol.source.ImageVector');

View File

@@ -19,7 +19,6 @@ goog.require('ol.render.canvas');
goog.require('ol.render.canvas.Immediate');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.canvas.ImageLayer');
goog.require('ol.renderer.canvas.Layer');
goog.require('ol.renderer.canvas.TileLayer');
goog.require('ol.renderer.canvas.VectorLayer');
goog.require('ol.renderer.canvas.VectorTileLayer');

View File

@@ -11,7 +11,6 @@ goog.require('ol.extent');
goog.require('ol.render.EventType');
goog.require('ol.renderer.canvas.Layer');
goog.require('ol.size');
goog.require('ol.source.Tile');
/**

View File

@@ -1,16 +1,13 @@
goog.provide('ol.renderer.canvas.VectorLayer');
goog.require('ol.events');
goog.require('ol.ViewHint');
goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.layer.Vector');
goog.require('ol.render.EventType');
goog.require('ol.render.canvas');
goog.require('ol.render.canvas.ReplayGroup');
goog.require('ol.renderer.canvas.Layer');
goog.require('ol.renderer.vector');
goog.require('ol.source.Vector');
/**

View File

@@ -1,21 +1,18 @@
goog.provide('ol.renderer.canvas.VectorTileLayer');
goog.require('ol.events');
goog.require('ol.transform');
goog.require('ol.Feature');
goog.require('ol.VectorTile');
goog.require('ol.array');
goog.require('ol.extent');
goog.require('ol.layer.VectorTile');
goog.require('ol.proj');
goog.require('ol.proj.Units');
goog.require('ol.render.EventType');
goog.require('ol.render.ReplayType');
goog.require('ol.render.canvas');
goog.require('ol.render.canvas.ReplayGroup');
goog.require('ol.render.replay');
goog.require('ol.renderer.canvas.TileLayer');
goog.require('ol.renderer.vector');
goog.require('ol.size');
goog.require('ol.source.VectorTile');
goog.require('ol.transform');
/**
@@ -23,7 +20,7 @@ goog.require('ol.source.VectorTile');
* @type {!Object.<string, Array.<ol.render.ReplayType>>}
*/
ol.renderer.canvas.IMAGE_REPLAYS = {
'image': ol.render.REPLAY_ORDER,
'image': ol.render.replay.ORDER,
'hybrid': [ol.render.ReplayType.POLYGON, ol.render.ReplayType.LINE_STRING]
};
@@ -34,7 +31,7 @@ ol.renderer.canvas.IMAGE_REPLAYS = {
*/
ol.renderer.canvas.VECTOR_REPLAYS = {
'hybrid': [ol.render.ReplayType.IMAGE, ol.render.ReplayType.TEXT],
'vector': ol.render.REPLAY_ORDER
'vector': ol.render.replay.ORDER
};

View File

@@ -1,11 +1,9 @@
goog.provide('ol.renderer.dom.ImageLayer');
goog.require('ol.transform');
goog.require('ol.ImageBase');
goog.require('ol.ViewHint');
goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.layer.Image');
goog.require('ol.proj');
goog.require('ol.renderer.dom.Layer');

View File

@@ -18,7 +18,6 @@ goog.require('ol.render.EventType');
goog.require('ol.render.canvas.Immediate');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.dom.ImageLayer');
goog.require('ol.renderer.dom.Layer');
goog.require('ol.renderer.dom.TileLayer');
goog.require('ol.renderer.dom.VectorLayer');
goog.require('ol.source.State');

View File

@@ -11,10 +11,8 @@ goog.require('ol.ViewHint');
goog.require('ol.array');
goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.layer.Tile');
goog.require('ol.renderer.dom.Layer');
goog.require('ol.size');
goog.require('ol.tilegrid.TileGrid');
/**

View File

@@ -1,11 +1,9 @@
goog.provide('ol.renderer.dom.VectorLayer');
goog.require('ol.events');
goog.require('ol.transform');
goog.require('ol.ViewHint');
goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.layer.Vector');
goog.require('ol.render.Event');
goog.require('ol.render.EventType');
goog.require('ol.render.canvas.Immediate');

View File

@@ -6,11 +6,9 @@ goog.require('ol');
goog.require('ol.functions');
goog.require('ol.ImageState');
goog.require('ol.Observable');
goog.require('ol.TileRange');
goog.require('ol.TileState');
goog.require('ol.transform');
goog.require('ol.source.State');
goog.require('ol.source.Tile');
/**

View File

@@ -1,9 +1,7 @@
goog.provide('ol.renderer.vector');
goog.require('ol.render.Feature');
goog.require('ol.render.IReplayGroup');
goog.require('ol.render.ReplayType');
goog.require('ol.style.ImageState');
goog.require('ol.style.Style');
/**
@@ -38,7 +36,7 @@ ol.renderer.vector.getTolerance = function(resolution, pixelRatio) {
/**
* @param {ol.render.IReplayGroup} replayGroup Replay group.
* @param {ol.render.ReplayGroup} replayGroup Replay group.
* @param {ol.geom.Circle} geometry Geometry.
* @param {ol.style.Style} style Style.
* @param {ol.Feature} feature Feature.
@@ -64,7 +62,7 @@ ol.renderer.vector.renderCircleGeometry_ = function(replayGroup, geometry, style
/**
* @param {ol.render.IReplayGroup} replayGroup Replay group.
* @param {ol.render.ReplayGroup} replayGroup Replay group.
* @param {ol.Feature|ol.render.Feature} feature Feature.
* @param {ol.style.Style} style Style.
* @param {number} squaredTolerance Squared tolerance.
@@ -101,7 +99,7 @@ ol.renderer.vector.renderFeature = function(
/**
* @param {ol.render.IReplayGroup} replayGroup Replay group.
* @param {ol.render.ReplayGroup} replayGroup Replay group.
* @param {ol.Feature|ol.render.Feature} feature Feature.
* @param {ol.style.Style} style Style.
* @param {number} squaredTolerance Squared tolerance.
@@ -121,7 +119,7 @@ ol.renderer.vector.renderFeature_ = function(
/**
* @param {ol.render.IReplayGroup} replayGroup Replay group.
* @param {ol.render.ReplayGroup} replayGroup Replay group.
* @param {ol.geom.GeometryCollection} geometry Geometry.
* @param {ol.style.Style} style Style.
* @param {ol.Feature} feature Feature.
@@ -139,7 +137,7 @@ ol.renderer.vector.renderGeometryCollectionGeometry_ = function(replayGroup, geo
/**
* @param {ol.render.IReplayGroup} replayGroup Replay group.
* @param {ol.render.ReplayGroup} replayGroup Replay group.
* @param {ol.geom.LineString|ol.render.Feature} geometry Geometry.
* @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature.
@@ -164,7 +162,7 @@ ol.renderer.vector.renderLineStringGeometry_ = function(replayGroup, geometry, s
/**
* @param {ol.render.IReplayGroup} replayGroup Replay group.
* @param {ol.render.ReplayGroup} replayGroup Replay group.
* @param {ol.geom.MultiLineString|ol.render.Feature} geometry Geometry.
* @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature.
@@ -191,7 +189,7 @@ ol.renderer.vector.renderMultiLineStringGeometry_ = function(replayGroup, geomet
/**
* @param {ol.render.IReplayGroup} replayGroup Replay group.
* @param {ol.render.ReplayGroup} replayGroup Replay group.
* @param {ol.geom.MultiPolygon} geometry Geometry.
* @param {ol.style.Style} style Style.
* @param {ol.Feature} feature Feature.
@@ -219,7 +217,7 @@ ol.renderer.vector.renderMultiPolygonGeometry_ = function(replayGroup, geometry,
/**
* @param {ol.render.IReplayGroup} replayGroup Replay group.
* @param {ol.render.ReplayGroup} replayGroup Replay group.
* @param {ol.geom.Point|ol.render.Feature} geometry Geometry.
* @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature.
@@ -248,7 +246,7 @@ ol.renderer.vector.renderPointGeometry_ = function(replayGroup, geometry, style,
/**
* @param {ol.render.IReplayGroup} replayGroup Replay group.
* @param {ol.render.ReplayGroup} replayGroup Replay group.
* @param {ol.geom.MultiPoint|ol.render.Feature} geometry Geometry.
* @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature.
@@ -278,7 +276,7 @@ ol.renderer.vector.renderMultiPointGeometry_ = function(replayGroup, geometry, s
/**
* @param {ol.render.IReplayGroup} replayGroup Replay group.
* @param {ol.render.ReplayGroup} replayGroup Replay group.
* @param {ol.geom.Polygon|ol.render.Feature} geometry Geometry.
* @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature.
@@ -308,7 +306,7 @@ ol.renderer.vector.renderPolygonGeometry_ = function(replayGroup, geometry, styl
* @const
* @private
* @type {Object.<ol.geom.GeometryType,
* function(ol.render.IReplayGroup, ol.geom.Geometry,
* function(ol.render.ReplayGroup, ol.geom.Geometry,
* ol.style.Style, Object)>}
*/
ol.renderer.vector.GEOMETRY_RENDERERS_ = {

View File

@@ -1,12 +1,10 @@
goog.provide('ol.renderer.webgl.ImageLayer');
goog.require('ol.transform');
goog.require('ol.ImageBase');
goog.require('ol.ViewHint');
goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.functions');
goog.require('ol.layer.Image');
goog.require('ol.proj');
goog.require('ol.renderer.webgl.Layer');
goog.require('ol.source.ImageVector');

View File

@@ -8,7 +8,6 @@ goog.require('ol.array');
goog.require('ol.css');
goog.require('ol.dom');
goog.require('ol.events');
goog.require('ol.events.Event');
goog.require('ol.layer.Image');
goog.require('ol.layer.Layer');
goog.require('ol.layer.Tile');
@@ -18,7 +17,6 @@ goog.require('ol.render.EventType');
goog.require('ol.render.webgl.Immediate');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.webgl.ImageLayer');
goog.require('ol.renderer.webgl.Layer');
goog.require('ol.renderer.webgl.TileLayer');
goog.require('ol.renderer.webgl.VectorLayer');
goog.require('ol.source.State');

View File

@@ -8,7 +8,6 @@ goog.require('ol.TileRange');
goog.require('ol.TileState');
goog.require('ol.array');
goog.require('ol.extent');
goog.require('ol.layer.Tile');
goog.require('ol.math');
goog.require('ol.renderer.webgl.Layer');
goog.require('ol.renderer.webgl.tilelayershader');

View File

@@ -1,9 +1,7 @@
goog.provide('ol.renderer.webgl.VectorLayer');
goog.require('ol.events');
goog.require('ol.ViewHint');
goog.require('ol.extent');
goog.require('ol.layer.Vector');
goog.require('ol.transform');
goog.require('ol.render.webgl.ReplayGroup');
goog.require('ol.renderer.vector');

View File

@@ -5,7 +5,6 @@ goog.require('ol.events.EventType');
goog.require('ol.ImageBase');
goog.require('ol.ImageState');
goog.require('ol.extent');
goog.require('ol.proj');
goog.require('ol.reproj');
goog.require('ol.reproj.Triangulation');

View File

@@ -7,7 +7,6 @@ goog.require('ol.events.EventType');
goog.require('ol.extent');
goog.require('ol.math');
goog.require('ol.obj');
goog.require('ol.proj');
goog.require('ol.reproj');
goog.require('ol.reproj.Triangulation');

View File

@@ -1,7 +1,6 @@
goog.provide('ol.source.BingMaps');
goog.require('ol.Attribution');
goog.require('ol.TileRange');
goog.require('ol.TileUrlFunction');
goog.require('ol.extent');
goog.require('ol.net');
@@ -9,6 +8,7 @@ goog.require('ol.proj');
goog.require('ol.source.State');
goog.require('ol.source.TileImage');
goog.require('ol.tilecoord');
goog.require('ol.tilegrid');
/**

View File

@@ -6,7 +6,6 @@ goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.extent');
goog.require('ol.obj');
goog.require('ol.proj');
goog.require('ol.source.Image');
goog.require('ol.uri');

View File

@@ -8,8 +8,6 @@ goog.require('ol.extent');
goog.require('ol.render.canvas.ReplayGroup');
goog.require('ol.renderer.vector');
goog.require('ol.source.ImageCanvas');
goog.require('ol.source.Vector');
goog.require('ol.style.Style');
/**

View File

@@ -10,7 +10,6 @@ goog.require('ol.extent');
goog.require('ol.obj');
goog.require('ol.proj');
goog.require('ol.source.Image');
goog.require('ol.source.wms');
goog.require('ol.source.wms.ServerType');
goog.require('ol.string');
goog.require('ol.uri');

View File

@@ -1,16 +1,15 @@
goog.provide('ol.source.Tile');
goog.provide('ol.source.TileEvent');
goog.require('ol.events.Event');
goog.require('ol');
goog.require('ol.TileCache');
goog.require('ol.TileRange');
goog.require('ol.TileState');
goog.require('ol.events.Event');
goog.require('ol.proj');
goog.require('ol.size');
goog.require('ol.source.Source');
goog.require('ol.tilecoord');
goog.require('ol.tilegrid.TileGrid');
goog.require('ol.tilegrid');
/**
@@ -283,7 +282,7 @@ ol.source.Tile.prototype.getTileCoordForTileUrlFunction = function(tileCoord, op
opt_projection : this.getProjection();
var tileGrid = this.getTileGridForProjection(projection);
if (this.getWrapX() && projection.isGlobal()) {
tileCoord = ol.tilecoord.wrapX(tileCoord, tileGrid, projection);
tileCoord = ol.tilegrid.wrapX(tileGrid, tileCoord, projection);
}
return ol.tilecoord.withinExtentAndZ(tileCoord, tileGrid) ? tileCoord : null;
};

View File

@@ -4,7 +4,6 @@ goog.require('ol');
goog.require('ol.extent');
goog.require('ol.obj');
goog.require('ol.math');
goog.require('ol.proj');
goog.require('ol.size');
goog.require('ol.source.TileImage');
goog.require('ol.tilecoord');

View File

@@ -8,6 +8,7 @@ goog.require('ol.events.EventType');
goog.require('ol.proj');
goog.require('ol.reproj.Tile');
goog.require('ol.source.UrlTile');
goog.require('ol.tilegrid');
/**

View File

@@ -8,13 +8,13 @@ goog.provide('ol.source.TileJSON');
goog.provide('ol.tilejson');
goog.require('ol.Attribution');
goog.require('ol.TileRange');
goog.require('ol.TileUrlFunction');
goog.require('ol.extent');
goog.require('ol.net');
goog.require('ol.proj');
goog.require('ol.source.State');
goog.require('ol.source.TileImage');
goog.require('ol.tilegrid');
/**

View File

@@ -12,6 +12,7 @@ goog.require('ol.net');
goog.require('ol.proj');
goog.require('ol.source.State');
goog.require('ol.source.Tile');
goog.require('ol.tilegrid');
/**

View File

@@ -11,7 +11,6 @@ goog.require('ol.math');
goog.require('ol.proj');
goog.require('ol.size');
goog.require('ol.source.TileImage');
goog.require('ol.source.wms');
goog.require('ol.source.wms.ServerType');
goog.require('ol.tilecoord');
goog.require('ol.string');

View File

@@ -1,6 +1,5 @@
goog.provide('ol.source.UrlTile');
goog.require('ol.events');
goog.require('ol.TileState');
goog.require('ol.TileUrlFunction');
goog.require('ol.source.Tile');

View File

@@ -7,7 +7,6 @@ goog.provide('ol.source.VectorEventType');
goog.require('ol');
goog.require('ol.Collection');
goog.require('ol.Feature');
goog.require('ol.ObjectEventType');
goog.require('ol.array');
goog.require('ol.events');
@@ -17,7 +16,6 @@ goog.require('ol.extent');
goog.require('ol.featureloader');
goog.require('ol.loadingstrategy');
goog.require('ol.obj');
goog.require('ol.proj');
goog.require('ol.source.Source');
goog.require('ol.source.State');
goog.require('ol.structs.RBush');

View File

@@ -1,6 +1,7 @@
goog.provide('ol.source.XYZ');
goog.require('ol.source.TileImage');
goog.require('ol.tilegrid');
/**

View File

@@ -5,7 +5,6 @@ goog.require('ol.ImageTile');
goog.require('ol.TileState');
goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.proj');
goog.require('ol.source.TileImage');
goog.require('ol.tilegrid.TileGrid');

Some files were not shown because too many files have changed in this diff Show More