mirror of
https://github.com/codex-storage/nim-leveldb.git
synced 2025-02-22 04:18:18 +00:00
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:
commit
d5b9e5474d
@ -18,6 +18,12 @@ matrix:
|
|||||||
include:
|
include:
|
||||||
- os: linux
|
- os: linux
|
||||||
env: CHANNEL=stable
|
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:
|
install:
|
||||||
- |
|
- |
|
||||||
|
@ -5,9 +5,11 @@ author = "Michał Zieliński"
|
|||||||
description = "LevelDB wrapper for Nim"
|
description = "LevelDB wrapper for Nim"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
srcDir = "src"
|
srcDir = "src"
|
||||||
|
installExt = @["nim"]
|
||||||
|
skipDirs = @["tests"]
|
||||||
binDir = "bin"
|
binDir = "bin"
|
||||||
bin = @["leveldb"]
|
bin = @["leveldb"]
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
|
||||||
requires "nim >= 1.0.0"
|
requires "nim >= 0.18.0"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import options, strutils, leveldb/raw
|
import options, strutils, leveldbpkg/raw
|
||||||
|
|
||||||
type
|
type
|
||||||
LevelDb* = ref object
|
LevelDb* = ref object
|
||||||
@ -193,7 +193,7 @@ iterator iter*(self: LevelDb, seek: string = "", reverse: bool = false): (
|
|||||||
leveldb_iter_next(iterPtr)
|
leveldb_iter_next(iterPtr)
|
||||||
|
|
||||||
iterator iterPrefix*(self: LevelDb, prefix: string): (string, string) =
|
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):
|
if key.startsWith(prefix):
|
||||||
yield (key, value)
|
yield (key, value)
|
||||||
else:
|
else:
|
||||||
@ -201,7 +201,7 @@ iterator iterPrefix*(self: LevelDb, prefix: string): (string, string) =
|
|||||||
|
|
||||||
iterator iterRange*(self: LevelDb, start, limit: string): (string, string) =
|
iterator iterRange*(self: LevelDb, start, limit: string): (string, string) =
|
||||||
let reverse: bool = limit < start
|
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 reverse:
|
||||||
if key < limit:
|
if key < limit:
|
||||||
break
|
break
|
||||||
@ -331,7 +331,7 @@ when isMainModule:
|
|||||||
db.close()
|
db.close()
|
||||||
elif args[0] == "list":
|
elif args[0] == "list":
|
||||||
db = open(dbPath)
|
db = open(dbPath)
|
||||||
for (key, value) in db.iter():
|
for key, value in db.iter():
|
||||||
if hex:
|
if hex:
|
||||||
echo key, " ", value.toHex()
|
echo key, " ", value.toHex()
|
||||||
else:
|
else:
|
||||||
@ -339,7 +339,7 @@ when isMainModule:
|
|||||||
db.close()
|
db.close()
|
||||||
elif args[0] == "keys":
|
elif args[0] == "keys":
|
||||||
db = open(dbPath)
|
db = open(dbPath)
|
||||||
for (key, value) in db.iter():
|
for key, value in db.iter():
|
||||||
echo key
|
echo key
|
||||||
db.close()
|
db.close()
|
||||||
elif args[0] == "delete":
|
elif args[0] == "delete":
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import unittest, options, sequtils
|
import unittest, options, sequtils
|
||||||
import leveldb, leveldb/raw
|
import leveldb, leveldbpkg/raw
|
||||||
|
|
||||||
suite "leveldb":
|
suite "leveldb":
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user