diff --git a/externs/topojson.js b/externs/topojson.js new file mode 100644 index 0000000000..39a2d512d2 --- /dev/null +++ b/externs/topojson.js @@ -0,0 +1,159 @@ + +/** + * @fileoverview Externs for TopoJSON. + * @see https://github.com/mbostock/topojson/wiki/Specification + * @externs + */ + + + +/** + * @constructor + */ +var TopoJSONTopology = function() {}; + + +/** + * @type {string} + */ +TopoJSONTopology.prototype.type; + + +/** + * @type {TopoJSONTransform} + */ +TopoJSONTopology.prototype.transform; + + +/** + * @type {Object.} + */ +TopoJSONTopology.prototype.objects; + + +/** + * @type {!Array.>>} + */ +TopoJSONTopology.prototype.arcs; + + + +/** + * @constructor + */ +var TopoJSONTransform = function() {}; + + +/** + * @type {!Array.} + */ +TopoJSONTransform.prototype.scale; + + +/** + * @type {!Array.} + */ +TopoJSONTransform.prototype.translate; + + + +/** + * @constructor + */ +var TopoJSONGeometry = function() {}; + + +/** + * @type {string} + */ +TopoJSONGeometry.prototype.type; + + +/** + * @type {string|number|undefined} + */ +TopoJSONGeometry.prototype.id; + + + +/** + * @constructor + * @extends {TopoJSONGeometry} + */ +var TopoJSONPoint = function() {}; + + +/** + * @type {!Array.} + */ +TopoJSONPoint.prototype.coordinates; + + + +/** + * @constructor + * @extends {TopoJSONGeometry} + */ +var TopoJSONLineString = function() {}; + + +/** + * @type {!Array.} + */ +TopoJSONLineString.prototype.arcs; + + + +/** + * @constructor + * @extends {TopoJSONGeometry} + */ +var TopoJSONPolygon = function() {}; + + +/** + * @type {!Array.>} + */ +TopoJSONPolygon.prototype.arcs; + + + +/** + * @constructor + * @extends {TopoJSONGeometry} + */ +var TopoJSONMultiPoint = function() {}; + + +/** + * @type {!Array.>} + */ +TopoJSONMultiPoint.prototype.coordinates; + + + +/** + * @constructor + * @extends {TopoJSONGeometry} + */ +var TopoJSONMultiLineString = function() {}; + + +/** + * @type {!Array.>} + */ +TopoJSONMultiLineString.prototype.arcs; + + + +/** + * @constructor + * @extends {TopoJSONGeometry} + */ +var TopoJSONMultiPolygon = function() {}; + + +/** + * @type {!Array.>>} + */ +TopoJSONMultiPolygon.prototype.arcs;