Emery Hemingway
cbf27a0ee0
schema: fix missing literals in tuples
2021-10-25 21:36:45 +02:00
Emery Hemingway
ba45f80087
schema: embedded type required for toPreserve inside `$`
2021-10-25 21:36:45 +02:00
Emery Hemingway
cca512c9df
mapEmbeds for Preserve[void] to Preserve[E]
2021-10-25 21:36:45 +02:00
Emery Hemingway
b6275a241b
Schema: do not overload `$` or encode for Preserve types
2021-10-20 13:59:48 +02:00
Emery Hemingway
5250707f0e
Schema: make all Preserves embeddable
2021-10-18 12:12:33 +02:00
Emery Hemingway
171502f1d2
Schemas: seperate procs for unembeddables
2021-10-18 12:12:33 +02:00
Emery Hemingway
54c28c90ce
Mark a preserves template as used
2021-10-18 12:12:33 +02:00
Emery Hemingway
30a9d55aac
Fix schema import, normalize version
2021-10-17 14:22:41 +02:00
Emery Hemingway
99201de724
Schemas: use canonical meta-schema
2021-10-17 13:26:05 +02: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
75c176ddb6
New constructors for record and sequence
2021-09-23 14:29:31 +02:00
Emery Hemingway
cd5dd7dd03
Add [] operator for dictionaries
2021-09-23 14:29:16 +02:00
Emery Hemingway
9f2921d0ca
Add is* checks
2021-09-23 13:32:04 +02:00
Emery Hemingway
e7af40ce2f
Export the variant members
2021-09-23 13:31:10 +02:00
Emery Hemingway
2451b441ad
Use dedicated types for record alternates
2021-09-22 14:30:50 +02:00
Emery Hemingway
ea50b05bad
Some types implicitly handled by toPreserve
2021-09-21 09:38:37 +02:00
Emery Hemingway
6b7a23fecf
Compiler compatibility tweaks
2021-09-21 09:30:40 +02:00
Emery Hemingway
dae5dd9751
Fix toPreserveHook for Table[A, B]
...
The toPreserveHook for tables was not compiling, which would fall
back to the behavior for preserving objects, which would not work
for tables.
2021-09-21 08:00:33 +02:00
Emery Hemingway
7edc05a35d
Refactor preserves_schema_nim
2021-09-21 08:00:33 +02:00
Emery Hemingway
efd5cf62df
Optimize allocation of sequences from toPreserve
2021-09-21 08:00:33 +02:00
Emery Hemingway
fc53b47ec6
Add megaType procs
2021-09-21 08:00:33 +02:00
Emery Hemingway
c407179540
Remove dead code
2021-09-21 08:00:33 +02:00
Emery Hemingway
098f067ffb
Quote schema comments
2021-09-21 08:00:33 +02:00
Emery Hemingway
efbf9af7ba
TableRef
2021-09-21 08:00:33 +02:00
Emery Hemingway
a7acd971d2
Fix symbol printing in schemas
2021-09-21 08:00:33 +02:00
Emery Hemingway
df53ff0d41
Fix printing of schema symbols
2021-09-21 08:00:33 +02:00
Emery Hemingway
23d34d1468
Emit a discard for empty case…of branch fields
2021-09-21 08:00:33 +02:00
Emery Hemingway
00bb9de55f
Less identifier mangling
2021-09-21 08:00:33 +02:00
Emery Hemingway
41675a2daf
Generate procs for constants
2021-09-21 08:00:33 +02:00
Emery Hemingway
58a9f5dde4
quiet down
2021-09-21 08:00:33 +02:00
Emery Hemingway
de50a0a41d
Import tables when necessary
2021-09-21 08:00:33 +02:00
Emery Hemingway
d43f9ca926
Quote proc parameters
2021-09-21 08:00:33 +02:00
Emery Hemingway
c942e79a0a
Make objects ref objects to support recursion
2021-09-21 08:00:33 +02:00
Emery Hemingway
e556fa26e0
Do not generate object fields for constants
2021-09-21 08:00:33 +02:00
Emery Hemingway
b940a458a1
Write name of output to stdout
2021-09-21 08:00:33 +02:00
Emery Hemingway
cef2116e96
Module scoping for embedded type and refs
2021-09-21 08:00:33 +02:00
Emery Hemingway
2d64dae0dd
Collect imports from schema
2021-09-21 08:00:33 +02:00
Emery Hemingway
460e7596f4
Make all type declarations in title-case
2021-09-21 08:00:33 +02:00
Emery Hemingway
e322482d0a
no preserveTypeOf
2021-09-21 08:00:33 +02:00
Emery Hemingway
2016974e95
Replace prsFoo() with foo()
2021-09-21 08:00:33 +02:00
Emery Hemingway
cb4f4df4f1
No date comment
2021-09-21 08:00:33 +02:00
Emery Hemingway
3c39f54962
Stop using preserveTypeOf
2021-09-08 11:16:42 +02:00
Emery Hemingway
c9c7744531
Do not emit (Preserve | Preserve) types
2021-09-08 11:16:42 +02:00
Emery Hemingway
d9cf6dbab4
Fix definition of empty records
2021-09-08 11:16:42 +02:00
Emery Hemingway
13854f88c7
Do not export case…of labels
2021-09-08 11:16:42 +02:00
Emery Hemingway
dffd52965b
Add some utilities
2021-09-08 11:16:42 +02:00
Emery Hemingway
e6d07ba924
Revert Preserve to a concrete type
...
A generic type with an embedded type is too much hassle with the
type system. Add an "embedded" flag on "Preserve" to mark if a
value should be considered as embedded.
2021-09-08 11:16:40 +02:00
Emery Hemingway
9ed18c279c
Release 1.0.0
2021-09-01 13:32:26 +02:00