var geocoder = require('node-geocoder');
var util = require('util');
var BaseLocation = require('./BaseLocation');

util.inherits(GeoCodioLocation, BaseLocation);

/**
 * Create GM instance
 * @constructor
 */
function GeoCodioLocation() {
  BaseLocation.apply(this, arguments);

  this.setProvider(geocoder('geocodio', 'http', this.get()));
}

/**
 * Geocode address and get latitude\longitude for it
 * @param {String} address
 * @returns {Promise}
 */
GeoCodioLocation.prototype.geocode = function (address) {
  return this.getProvider().geocode(address);
};

/**
 * Reverse geocode to address
 * @param {Number} latitude
 * @param {Number} longitude
 * @returns {Promise}
 */
GeoCodioLocation.prototype.reverse = function (latitude, longitude) {
  return this.getProvider().reverse({lat: latitude, lon: longitude});
};

module.exports = GeoCodioLocation;

@@ -1,11 +1,14 @@
-var
+import
  geocode
@@ -9,26 +9,21 @@
 eocoder 
-= require(
+from 
 'node-ge
@@ -33,42 +33,16 @@
 der'
-)
 ;%0A
-var util = require('util');%0Avar
+import
  Bas
@@ -55,18 +55,13 @@
 ion 
-= require(
+from 
 './B
@@ -76,26 +76,32 @@
 ion'
-)
 ;%0A%0A
-util.inherits(
+export default class 
 GeoC
@@ -112,17 +112,24 @@
 Location
-,
+ extends
  BaseLoc
@@ -137,128 +137,59 @@
 tion
-);%0A%0A/**%0A * Create GM instance%0A * @constructor%0A */%0Afunction GeoCodioLocation() %7B%0A  BaseLocation.apply(this, argument
+ %7B%0A  constructor(...args) %7B%0A    super(...arg
 s);%0A%0A
+  
   th
@@ -250,15 +250,21 @@
 ));%0A
+  
 %7D%0A%0A
+  
 /**%0A
+  
  * G
@@ -312,16 +312,18 @@
  for it%0A
+  
  * @para
@@ -337,24 +337,26 @@
 ng%7D address%0A
+  
  * @returns 
@@ -369,58 +369,23 @@
 se%7D%0A
+  
  */%0A
-GeoCodioLocation.prototype.geocode = function 
+  geocode
 (add
@@ -388,24 +388,26 @@
 (address) %7B%0A
+  
   return thi
@@ -444,16 +444,21 @@
 s);%0A
-%7D;%0A%0A
+  %7D%0A%0A  
 /**%0A
+  
  * R
@@ -483,16 +483,18 @@
 address%0A
+  
  * @para
@@ -509,24 +509,26 @@
 r%7D latitude%0A
+  
  * @param %7BN
@@ -544,16 +544,18 @@
 ngitude%0A
+  
  * @retu
@@ -572,58 +572,23 @@
 se%7D%0A
+  
  */%0A
-GeoCodioLocation.prototype.reverse = function 
+  reverse
 (lat
@@ -607,16 +607,18 @@
 tude) %7B%0A
+  
   return
@@ -683,43 +683,10 @@
 %7D);%0A
-%7D;%0A%0Amodule.exports = GeoCodioLocation;
+  %7D%0A%7D
 %0A

Rewrite GeoCodioLocation with ES6