From ea698bedcc6a5752c33a554b82bdf438b7530a0a Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Mon, 22 Apr 2024 11:08:11 +0200 Subject: [PATCH] Add integer converter --- preserves.nimble | 2 +- src/preserves.nim | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/preserves.nimble b/preserves.nimble index 7a19c7e..d19d6a9 100644 --- a/preserves.nimble +++ b/preserves.nimble @@ -1,6 +1,6 @@ # Package -version = "20240312" +version = "20240422" author = "Emery Hemingway" description = "data model and serialization format" license = "Unlicense" diff --git a/src/preserves.nim b/src/preserves.nim index 8136e2b..2cd8c59 100644 --- a/src/preserves.nim +++ b/src/preserves.nim @@ -335,6 +335,9 @@ template unpreservable*() {.pragma.} ## as its native type. ## Unpreservability is asserted at runtime. +converter preserve*(i: SomeInteger): Value = + Value(kind: pkRegister, register: BiggestInt i) + proc toPreserves*[T](x: T): Value {.gcsafe.} = ## Serializes ``x`` to Preserves. Can be customized by defining ## ``toPreservesHook(x: T; E: typedesc)`` in the calling scope.