👷 making mbtiles library optional (install via npm install -g mbtiles)

pull/7/head
Michael Straßburger 2016-11-06 00:21:31 +01:00
rodzic ac1494636a
commit a21d172a2c
2 zmienionych plików z 11 dodań i 2 usunięć

Wyświetl plik

@ -32,7 +32,6 @@
"earcut": "^2.1.1",
"gl-matrix": "^2.3.2",
"keypress": "^0.2.1",
"mbtiles": "^0.9.0",
"pbf": "^3.0.0",
"rbush": "^2.0.1",
"request": "^2.76.0",

Wyświetl plik

@ -8,7 +8,6 @@
###
Promise = require 'bluebird'
MBTiles = require 'mbtiles'
userhome = require 'userhome'
request = require 'request'
rp = require 'request-promise'
@ -16,6 +15,14 @@ fs = require 'fs'
Tile = require './Tile'
# https://github.com/mapbox/node-mbtiles has native build dependencies (sqlite3)
# To maximize mapscii's compatibility, MBTiles support must be manually added via
# $> npm install -g mbtiles
MBTiles = try
require 'mbtiles'
catch
null
module.exports = class TileSource
config:
persistDownloadedTiles: true
@ -37,6 +44,9 @@ module.exports = class TileSource
@mode = @modes.HTTP
else if @source.endsWith ".mbtiles"
unless MBTiles
throw new Error "MBTiles support must be installed with following command: 'npm install -g mbtiles'"
@mode = @modes.MBTiles
@loadMBtils source