// Quadkey Schema async function quadkey() { const tile = '1' const db = new MBTiles('foo', 'quadkey') await db.findOne(tile) await db.save(tile, image) await db.update(options) await db.delete(tile) const tiles: string[] = await db.findAll() const hashes = await db.hashes() hashes.size const container: Container = {} container['foo'].findOne(tile) }
test('MBTiles -- plain_1', t => { const db = new MBTiles(directories.in + 'plain_1.mbtiles') Promise.all([ db.metadata().then(metadata => t.deepEqual(metadata, metadataPlain1, 'metadata')), db.tables().then(status => t.assert(status, 'tables')), db.count().then(count => t.equal(count, 285, 'count')), db.findAll().then(tiles => t.equal(tiles.length, 285, 'findAll')), db.findOne([0, 0, 0]).then(image => t.equal(image.byteLength, 7072, 'findOne')), db.findOne([15, 9, 4]).then(image => t.equal(image.byteLength, 1167, 'findOne - resolves correctly')), db.hashes().then(hashes => t.equal(hashes.size, 285, 'hashes')) ]).then(() => { t.equal(db.hash([0, 0, 0]), 1, 'hash') t.end() }) })
// Default (TMS/XYZ Schema) async function main() { const tile: Tile = [0, 0, 0] const db = new MBTiles(path.join(__dirname, 'test', 'in', 'plain_1.mbtiles'), 'tms') // Class properties db.db db.uri // Class methods await db.metadata() await db.count() await db.tables() await db.findAll() await db.findOne(tile) await db.index() await db.save(tile, image) await db.update(options) await db.delete(tile) const tiles: Tile[] = await db.findAll() const hashes = await db.hashes() hashes.size const container: Container = {} container['foo'].findOne(tile) // Sync functions db.metadataSync((error, metadata) => {}) db.findOneSync(tile, (error, image) => {}) }
test('MBTiles -- blank', t => { const db = new MBTiles(directories.in + 'blank.mbtiles') Promise.all([ db.metadata().then(metadata => t.deepEqual(metadata, baseMetadata, 'metadata')), db.count().then(count => t.equal(count, 0, 'count')), db.tables().then(status => t.true(status, 'tables')), db.findAll().then(tiles => t.equal(tiles.length, 0, 'findAll')), db.findOne([0, 0, 0]).then(image => t.not(image, 'findOne')), db.findOne([10, 0, 0]).then(image => t.not(image, 'findOne')), db.hashes().then(hashes => t.equal(hashes.size, 0, 'hashes')) ]) .then(() => { t.equal(db.hash([0, 0, 0]), 1, 'hash') t.end() }) })