Merge pull request #12 from xyb/pkg

let leveldb.nim be a valid package and support nim 0.18.0
This commit is contained in:
Michał Zieliński 2020-02-18 21:32:59 +01:00 committed by GitHub
commit d5b9e5474d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 15 additions and 7 deletions

View File

@ -18,6 +18,12 @@ matrix:
include:
- os: linux
env: CHANNEL=stable
- os: linux
env: CHANNEL=0.20.2
- os: linux
env: CHANNEL=0.19.6
- os: linux
env: CHANNEL=0.18.0
install:
- |

View File

@ -5,9 +5,11 @@ author = "Michał Zieliński"
description = "LevelDB wrapper for Nim"
license = "MIT"
srcDir = "src"
installExt = @["nim"]
skipDirs = @["tests"]
binDir = "bin"
bin = @["leveldb"]
# Dependencies
requires "nim >= 1.0.0"
requires "nim >= 0.18.0"

View File

@ -1,4 +1,4 @@
import options, strutils, leveldb/raw
import options, strutils, leveldbpkg/raw
type
LevelDb* = ref object
@ -193,7 +193,7 @@ iterator iter*(self: LevelDb, seek: string = "", reverse: bool = false): (
leveldb_iter_next(iterPtr)
iterator iterPrefix*(self: LevelDb, prefix: string): (string, string) =
for (key, value) in iter(self, prefix, reverse = false):
for key, value in iter(self, prefix, reverse = false):
if key.startsWith(prefix):
yield (key, value)
else:
@ -201,7 +201,7 @@ iterator iterPrefix*(self: LevelDb, prefix: string): (string, string) =
iterator iterRange*(self: LevelDb, start, limit: string): (string, string) =
let reverse: bool = limit < start
for (key, value) in iter(self, start, reverse = reverse):
for key, value in iter(self, start, reverse = reverse):
if reverse:
if key < limit:
break
@ -331,7 +331,7 @@ when isMainModule:
db.close()
elif args[0] == "list":
db = open(dbPath)
for (key, value) in db.iter():
for key, value in db.iter():
if hex:
echo key, " ", value.toHex()
else:
@ -339,7 +339,7 @@ when isMainModule:
db.close()
elif args[0] == "keys":
db = open(dbPath)
for (key, value) in db.iter():
for key, value in db.iter():
echo key
db.close()
elif args[0] == "delete":

View File

@ -1,5 +1,5 @@
import unittest, options, sequtils
import leveldb, leveldb/raw
import leveldb, leveldbpkg/raw
suite "leveldb":