From 70be90497921f128d54d29b022d0df8e165b3fc7 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Fri, 28 Jun 2013 15:53:58 -0600 Subject: [PATCH] Adding TopoJSON externs --- externs/topojson.js | 159 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 externs/topojson.js 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;