Remove hidden dependency on timeutils (private repo).

This commit is contained in:
Jonathan Bernard 2022-09-06 09:49:35 -05:00
parent bd5d8c98b8
commit 4e0a173c76
3 changed files with 23 additions and 2 deletions

View File

@ -1,6 +1,6 @@
# Package
version = "1.0.2"
version = "1.0.3"
author = "Jonathan Bernard"
description = "Lightweight Postgres ORM for Nim."
license = "GPL-3.0"

View File

@ -83,6 +83,7 @@
##
## .. code-block:: Nim
## # db.nim
## import std/db_postgres
## import fiber_orm
## import ./models.nim
##

View File

@ -3,7 +3,7 @@
# Copyright 2019 Jonathan Bernard <jonathan@jdbernard.com>
## Utility methods used internally by Fiber ORM.
import json, macros, options, sequtils, strutils, times, timeutils, unicode,
import json, macros, options, sequtils, strutils, times, unicode,
uuids
import nre except toSeq
@ -18,6 +18,26 @@ type
placeholders*: seq[string]
values*: seq[string]
const ISO_8601_FORMATS = @[
"yyyy-MM-dd'T'HH:mm:ssz",
"yyyy-MM-dd'T'HH:mm:sszzz",
"yyyy-MM-dd'T'HH:mm:ss'.'fffzzz",
"yyyy-MM-dd HH:mm:ssz",
"yyyy-MM-dd HH:mm:sszzz",
"yyyy-MM-dd HH:mm:ss'.'fffzzz"
]
proc parseIso8601(val: string): DateTime =
var errString = ""
for df in ISO_8601_FORMATS:
try: return val.parse(df)
except: errString &= "\n" & getCurrentExceptionMsg()
raise newException(Exception, "Could not parse date. Tried:" & errString)
proc formatIso8601(d: DateTime): string =
return d.format(ISO_8601_FORMATS[2])
# TODO: more complete implementation
# see https://github.com/blakeembrey/pluralize
proc pluralize*(name: string): string =