diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fdce598..4ab1bd0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - nim: [1.6.20, stable] + nim: [2.0.16, 2.2.4] steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.gitignore b/.gitignore index 2681317..60b68bf 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ nimble.develop nimble.paths .idea vendor/ -.vscode/ \ No newline at end of file +.vscode/ +nimbledeps diff --git a/config.nims b/config.nims index e01d099..5047545 100644 --- a/config.nims +++ b/config.nims @@ -1,7 +1,8 @@ --styleCheck:usages --styleCheck:error -# begin Nimble config (version 1) -when fileExists("nimble.paths"): +# begin Nimble config (version 2) +--noNimblePath +when withDir(thisDir(), system.fileExists("nimble.paths")): include "nimble.paths" # end Nimble config diff --git a/nimble.lock b/nimble.lock new file mode 100644 index 0000000..0794840 --- /dev/null +++ b/nimble.lock @@ -0,0 +1,130 @@ +{ + "version": 2, + "packages": { + "results": { + "version": "0.5.1", + "vcsRevision": "df8113dda4c2d74d460a8fa98252b0b771bf1f27", + "url": "https://github.com/arnetheduck/nim-results", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "a9c011f74bc9ed5c91103917b9f382b12e82a9e7" + } + }, + "unittest2": { + "version": "0.2.4", + "vcsRevision": "8b51e99b4a57fcfb31689230e75595f024543024", + "url": "https://github.com/status-im/nim-unittest2", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "746106a4dfefffce497f1693733f1c1513b5c62c" + } + }, + "stew": { + "version": "0.4.1", + "vcsRevision": "e5740014961438610d336cd81706582dbf2c96f0", + "url": "https://github.com/status-im/nim-stew", + "downloadMethod": "git", + "dependencies": [ + "results", + "unittest2" + ], + "checksums": { + "sha1": "996d9c058ee078d0209a5f539424a0235683918c" + } + }, + "faststreams": { + "version": "0.4.1", + "vcsRevision": "c3ac3f639ed1d62f59d3077d376a29c63ac9750c", + "url": "https://github.com/status-im/nim-faststreams", + "downloadMethod": "git", + "dependencies": [ + "stew", + "unittest2" + ], + "checksums": { + "sha1": "e2d03280cf0675314136e6e63d9d928d9dfc9705" + } + }, + "serialization": { + "version": "0.4.9", + "vcsRevision": "b5193007a49639b21b2b80cd8ef8cbe0df6b0e48", + "url": "https://github.com/status-im/nim-serialization", + "downloadMethod": "git", + "dependencies": [ + "faststreams", + "unittest2", + "stew" + ], + "checksums": { + "sha1": "ab0812a7e16ae39ee68f4a6b1938a1b83dee34be" + } + }, + "json_serialization": { + "version": "0.4.2", + "vcsRevision": "e076cb9a2dff30e13aad0bb4a13049da86d07967", + "url": "https://github.com/status-im/nim-json-serialization", + "downloadMethod": "git", + "dependencies": [ + "serialization", + "stew", + "results" + ], + "checksums": { + "sha1": "2b26a9e0fc79638dbb9272fb4ab5a1d79264f938" + } + }, + "testutils": { + "version": "0.8.0", + "vcsRevision": "e4d37dc1652d5c63afb89907efb5a5e812261797", + "url": "https://github.com/status-im/nim-testutils", + "downloadMethod": "git", + "dependencies": [ + "unittest2" + ], + "checksums": { + "sha1": "d1678f50aa47d113b4e77d41eec2190830b523fa" + } + }, + "chronicles": { + "version": "0.12.2", + "vcsRevision": "27ec507429a4eb81edc20f28292ee8ec420be05b", + "url": "https://github.com/status-im/nim-chronicles", + "downloadMethod": "git", + "dependencies": [ + "faststreams", + "serialization", + "json_serialization", + "testutils" + ], + "checksums": { + "sha1": "02febb20d088120b2836d3306cfa21f434f88f65" + } + }, + "questionable": { + "version": "0.10.15", + "vcsRevision": "82d90b67bcfb7f2e918b61dace2ff1a4ced60935", + "url": "https://github.com/codex-storage/questionable", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "3238ff637c7b44d2fa8fcb839a8ded968e389de3" + } + }, + "stint": { + "version": "0.8.2", + "vcsRevision": "470b7892561b5179ab20bd389a69217d6213fe58", + "url": "https://github.com/status-im/nim-stint", + "downloadMethod": "git", + "dependencies": [ + "stew", + "unittest2" + ], + "checksums": { + "sha1": "d8f871fd617e7857192d4609fe003b48942a8ae5" + } + } + }, + "tasks": {} +} diff --git a/serde.nimble b/serde.nimble index 187b395..c7e7912 100644 --- a/serde.nimble +++ b/serde.nimble @@ -7,13 +7,8 @@ license = "MIT" skipDirs = @["tests"] # Dependencies -requires "nim >= 1.6.14" -requires "chronicles >= 0.10.3 & < 0.11.0" +requires "chronicles >= 0.10.3" requires "questionable >= 0.10.13 & < 0.11.0" requires "stint" requires "stew" - -task test, "Run the test suite": - exec "nimble install -d -y" - withDir "tests": - exec "nimble test" +requires "asynctest >= 0.5.1 & < 0.6.0" diff --git a/serde/json/deserializer.nim b/serde/json/deserializer.nim index 41c4106..c8da8b3 100644 --- a/serde/json/deserializer.nim +++ b/serde/json/deserializer.nim @@ -322,7 +322,7 @@ proc fromJson*(T: typedesc[StUint or StInt], json: string): ?!T = T.fromJson(newJString(json)) proc fromJson*[T: ref object or object](_: type ?T, json: string): ?!Option[T] = - when T is (StUInt or StInt): + when T is (StUint or StInt): let jsn = newJString(json) else: let jsn = ?JsonNode.parse(json) # full qualification required in-module only diff --git a/tests/test.nimble b/tests/test.nimble deleted file mode 100644 index fc7114f..0000000 --- a/tests/test.nimble +++ /dev/null @@ -1,11 +0,0 @@ -version = "0.1.0" -author = "nim serde authors" -description = "tests for nim serde library" -license = "MIT" - -requires "asynctest >= 0.5.1 & < 0.6.0" -requires "questionable >= 0.10.13 & < 0.11.0" - -task test, "Run the test suite": - exec "nimble install -d -y" - exec "nim c -r test"