UNPKG

@eastsideco/escshopify

Version:

WIP JS library for Shopify, containing a variety of useful functionality.

59 lines (43 loc) 1.56 kB
# Plugins/Geoservice The Geoservice module provides an easy-to-use interface for visitor geolocation and currency information. ## Getting started ### Get visitor geolocation info **ES6**: ```js import {plugins} from '@eastsideco/escshopify'; const geoService = new plugins.GeoService; async function alertVisitorCountry() { var geoInfo = await geoService.lookupGeo(); alert(geoInfo.country.iso_code); } ``` ### Get currency exchange rates **Note**: It's highly recommended to use the EasyCurrency plugin instead of re-implementing currency conversion yourself - it had more features and covers many easy-to-miss edge cases. **ES6**: ```js import {plugins} from '@eastsideco/escshopify'; const geoService = new plugins.GeoService; class VisitorCurrencyConverter { constructor(baseCurrency) { this._baseCurrency = basyCurrency; this._visitorCurrency = 'USD'; this._rates = null this._getRates(); this._getVisitorCurrency(); } async _getVisitorCurrency() { var geoInfo = await geoService.lookupGeo(); this._visitorCurrency = geoInfo.currency; } async _getRates() { var res = await geoService.getCurrencyInfo(); this._rates = res.rates; } convert(amount) { var baseToUsd = this._baseCurrency == 'USD' ? 1 : this._rates[this._baseCurrency]; var usdToVisitor = this._visitorCurency == 'USD' ? 1 : this._rates[this._visitorCurrency; var rate = usdToVisitor / baseToUsd; return amount * rate; } } ```