Commit Graph

22 Commits

Author SHA1 Message Date
Emery Hemingway 9134fecb36 Replace #! notation with #: 2024-02-08 14:24:01 +00:00
Emery Hemingway d2017228fb Embed values for types with {.preservesEmbedded.} 2024-01-08 12:37:03 +02:00
Emery Hemingway 0acd369262 Option support in toPreserves and fromPreserves 2024-01-08 12:36:29 +02:00
Emery Hemingway 25d42f9498 Add toRecord sugar 2024-01-08 12:36:29 +02:00
Emery Hemingway 867d25afee Remodel Preserves[E] into Value
Using a parameterized Preserve[E] type is too much hassle. Replace
with a Value type with an embedded field of "ref RootObj".
2024-01-08 12:36:29 +02:00
Emery Hemingway 15390dd48e Suppport preservesTupleTail pragma within objects 2023-09-12 11:35:09 +02:00
Emery Hemingway 60c5f03637 Add preservesEmbedded pragma 2022-12-06 22:30:28 -06:00
Emery Hemingway 11661d453c Replace concat with writeText
Write to a stream rather than concatentate a string.
2022-10-30 17:26:55 -05:00
Emery Hemingway 7d8c3b29c2 XML conversion 2021-12-06 23:57:47 +00:00
Emery Hemingway 7cc0b050f4 Remove support for integers wider than 64 bits
I believe this was an unecessary compilication and it can be
restored later if necesary.
2021-11-12 12:25:28 +01:00
Emery Hemingway 220577c8a0 New pragmas for toPreserve and fromPreserve 2021-10-17 11:38:45 +02:00
Emery Hemingway 2dd63903f0 Remove records module
Redundant with toPreserve and fromPreserve.
2021-09-25 13:57:58 +02:00
Emery Hemingway 42a9b26458 Embeddable Preserves
Make Preserve a generic type that can embed a native Nim type.
Generate generic implementations from schemas and discard
embeddedType.
2021-09-25 13:47:05 +02:00
Emery Hemingway 9ed18c279c Release 1.0.0 2021-09-01 13:32:26 +02:00
Emery Hemingway 91bf449f6b Unlicense 2021-08-31 17:00:00 +02:00
Emery Hemingway 5ca277b8c0 Embedded types 2021-08-31 16:48:55 +02:00
Emery Hemingway 5aaac95ca1 Remove % operator
Use toPreserves, % is not compatible with a parameterized Preserve
type.
2021-08-28 11:25:04 +02:00
Emery Hemingway d67482fad8 Do not throw from preserveTo or fromPreserve
Return an Option or boolean value. This makes it cheap to test if
a Preserves value is convertable to a Nim type.
2021-08-27 22:35:37 +02:00
Emery Hemingway 713f9d00d3 Add `%` operator
Reuse the `%` operator from json module for consistency.
2021-07-09 16:56:09 +02:00
Emery Hemingway be8ad62f99 Infix operator % for constructing records 2021-07-07 12:50:57 +02:00
Emery Hemingway 24d974b91f Get RecordClass of tuple types 2021-07-01 12:48:07 +02:00
Emery Hemingway 5aa5ccbd09 Move utilities for records to a seperate module 2021-06-28 17:38:41 +02:00