Commit Graph

60 Commits

Author SHA1 Message Date
Evgenii Stratonikov 3e70cb3062 Implement ToSizeInBytes(E)
Allow to convert string with size units (such as "10kb") to bytes.
This converter is privately used in viper. I think it is great to
allow using it from cast. Compared to viper implementation this one
allows to have single-letter suffixes.

Signed-off-by: Evgenii Stratonikov <stratonikov@runbox.com>
2021-10-07 19:37:11 +03:00
Kento Tsuji 88075729b0
Fix date parse for "2016-03-06 15:28:01 +0900" 2021-08-15 19:48:01 +02:00
Bjørn Erik Pedersen 22b2b540ce
Adjust timezone logic 2021-07-27 13:05:07 +02:00
Heewa Barfchin e4dda5f5f1
Add ToTimeInDefaultLocation/E
Go's time parsing uses UTC when the format doesn't have a tiemzone, and
has even weirder behavior when it has a zone name but no numeric offset.
A caller to `cast.ToTime` won't know if the returned time was explicitly
in UTC, or defaulted there, so the caller cannot fix it. These new
functions allow a user to supply a different timezone to default to,
with nil using the local zone.
2021-07-27 13:05:07 +02:00
Paco Preciado Mendoza 8d17101741
Convert error slice to string slice
* feat: added test case for error slice to parse to string

* feat: added handler to convert an error slice to string slice
2020-07-23 23:45:38 +02:00
zheng 580a25aa7d feat: updating ToStringSliceE to support some other slices 2020-07-10 19:32:20 +02:00
K4rian 1ffadf5510 Fix uint, uint8, uint16, uint32 and uint64 conversion in ToStringE function. 2019-12-18 08:28:14 +01:00
Bjørn Erik Pedersen 8c9545af88 Fix Travis build 2018-10-25 00:59:28 +02:00
Theofanis Despoudis 4dd38b8b57 Add support for map of int64 and map of int 2018-10-24 20:00:14 +02:00
Ben Orchard 8934aa3ddd StringToDate: +more RFC3339 forms without TZ colon
Adds a form to handle the common format `strftime("%FT%T%z")`, which
omits the (optional) colon from the timezone. Also adds a matching
T-omitted form.
2018-10-21 23:25:45 +02:00
Xavier Vello 9ebc15c905 Add support for maps defined as a json string 2018-02-14 18:49:49 +01:00
Roman Volosatovs acbeb36b90 Add ToDurationSlice() 2017-04-13 11:15:03 +02:00
Cameron Moore 816e3433fe Small simplifications 2017-03-04 12:22:30 +01:00
Cameron Moore 1ad7d3c5ed Use single defined error for negatives 2017-03-03 22:17:07 +01:00
Cameron Moore 758cd85768 Error on unsigned conversions of negative values 2017-03-03 22:17:07 +01:00
Cameron Moore d37435d953 Add additional type conversions
Adds float32, uint, uint64, uint32, uint16, and uint8 throughout.

Fixes #33
2017-03-03 22:17:07 +01:00
Cameron Moore 4f1683a224 Update and standardize error messages 2017-03-03 18:07:04 +01:00
Cameron Moore 1dfd38810f Fix issues found by gosimple 2017-03-03 17:34:16 +01:00
Cameron Moore e71c5a68f1 Update godoc comments 2017-03-03 16:45:07 +01:00
chyeh e4f8127058 Add `ToInt8`, `ToInt16` and `ToInt32` 2017-03-03 15:54:08 +01:00
Cameron Moore f820543c35 Fix regression in StringToDate
In commit d1139ba, I removed a date format for "RFC3339 without T" that
I misidentified as a reduntant format.  This commit adds it back with a
test.
2017-02-21 16:23:02 +01:00
Cameron Moore d1139bab1c Add missing time formats and tests
Add missing time formats, remove duplicate formats, and test all
supported formats.
2017-01-28 19:09:31 +07:00
Cameron Moore 56a7ecbeb1 Add Unix epoch support to ToTimeE 2016-12-25 13:56:48 +01:00
emacsist 24b6558033 Add "yyyy-MM-dd HH:mm:ss" string format 2016-11-16 02:33:54 +01:00
Bjørn Erik Pedersen 2580bc98dc Remove expensive TRACE logging
```
benchmark              old ns/op     new ns/op     delta
BenchmarkTooBool-4     2671          67.8          -97.46%

benchmark              old allocs     new allocs     delta
BenchmarkTooBool-4     3              1              -66.67%

benchmark              old bytes     new bytes     delta
BenchmarkTooBool-4     49            1             -97.96%
```
2016-09-26 10:42:49 +02:00
M@ 60e7a69a42 Add ToBoolSlice()
Fixes #1
2016-09-19 22:26:41 +02:00
Chih-Hung Yeh fa673d63c1 Fixe `ToDurationE()`
It used to return zero valeus in some cases. The details are described
in [this issue](https://github.com/spf13/viper/issues/203). More cases
were also added in the unit test `TestToDuration()`
2016-09-19 22:24:24 +02:00
Feng 4532b05430 FIx ToStringMapStringSliceE
* Update caste.go

bug fix

json config, for example:
{ "test" : ["abc", "123"] }

* update test
2016-09-19 22:22:46 +02:00
Bjørn Erik Pedersen e31f36ffc9 Log the To* invocations as TRACE
It gets very chatty at DEBUG.
2016-07-30 11:20:37 +02:00
Bjørn Erik Pedersen 27b586b42e Add support for the other html template types 2016-03-14 20:20:28 +01:00
Matt Keller 0eed3d1b35 Add a ToInt64() and necessary plumbing 2016-03-14 20:19:19 +01:00
Matt Keller 7c7add0129 Add ability to cast int64's to strings
Resolves #18
2016-03-14 20:18:57 +01:00
Cyrill Schumacher ee7b3e0353 Add bool case to ToStringE 2015-12-18 08:52:19 -05:00
Tyler Power 6770a32f65 Add int64 and float64 type coercion in ToDuration 2015-11-23 09:21:13 +13:00
Jeff Hodges ee815aaf95 add date formats found in jekyll posts
The first added is definitely in jekyll. The second, I believe, happens,
too.
2015-08-03 12:37:15 -04:00
jackspirou 1c4ba956f5 adding back default statements and adding comments and cleanups 2015-08-03 12:36:12 -04:00
jackspirou d7ba796a5f adding unit tests for ToStringMapString and ToStringMapStringSlice methods 2015-08-03 12:36:12 -04:00
jackspirou 7ed57e5c41 adding ToStringMapStringSlice method 2015-08-03 12:36:12 -04:00
bep 893a4154d1 Add support for template.URL
Fixes #13
2015-08-03 12:35:39 -04:00
bep 4d07383ffe Make ToIntSliceE more flexible
Now it accepts any slice or array type that contains a type supported by ToIntE.

[close #12]
2015-05-08 15:17:42 -04:00
bep 2c4fdb5416 Add ToIntSlice 2015-02-24 12:08:11 -05:00
Chance Zibolski 3cc9db95ac Add ToDuration 2015-02-24 12:07:25 -05:00
Chance Zibolski dace11d497 Use strings.Fields 2015-02-24 12:06:34 -05:00
Chance Zibolski b24b4ff690 ToStringSliceE: Support string values 2015-02-24 12:06:34 -05:00
spf13 2318c5caf2 Add support for pointers to basic types 2015-01-01 00:23:46 -05:00
spf13 421411cf35 Add proper support for error -> string and Stringer -> string. 2015-01-01 00:18:13 -05:00
Derek Perkins c0388c79a0 Defaulted .ToStringE to use reflection to find a stringer element 2014-12-18 22:44:40 -05:00
bep 0a58809502 Add support for HTML to String 2014-12-09 09:02:27 -05:00
Steve Francia fb4a45a374 Merge pull request #5 from txgruppi/master
Updated to return bool false only for zero
2014-12-03 08:50:16 +01:00
txgruppi ed6dd5ade6
Updated to return bool false only for zero 2014-11-19 18:08:49 +00:00