Skip to content

Create dynamic var for data readers - #187

Merged
huahaiy merged 1 commit into
datalevin:masterfrom
respatialized:feature/dynamic-readers
Feb 8, 2023
Merged

huahaiy merged 1 commit into
datalevin:masterfrom
respatialized:feature/dynamic-readers

Conversation

@respatialized

@respatialized respatialized commented Feb 8, 2023 •

Copy link
Copy Markdown
Contributor

Rationale

This supports the use case of users who have values with tagged literals stored in their databases. Just as with clojure.core/*data-readers* and clojure.core/default-data-readers, there is also a static var containing the default readers to fall back to in contexts where the dynamic value has been rebound, which is used to initialize the dynamic var.

Testing

Tested locally with lein test - no issues.

Questions

I am not sure if the naming of datalevin-data-readers is unwieldy, but I named those vars like that to avoid potentially shadowing the equivalent vars from clojure.core. They can be renamed to something different if it would be better.

This supports the use case of users who have values with tagged literals
stored in their databases. Just as with clojure.core/*data-readers* and
clojure.core/default-data-readers, there is also a static var containing the
default readers to fall back to in contexts where the dynamic value has been
rebound, which is used to initialize the dynamic var.
@respatialized

Copy link
Copy Markdown
Contributor Author

I didn't add tests for the custom reader capabilities. I can if you would like me to.

@huahaiy
huahaiy merged commit f08f07c into datalevin:master Feb 8, 2023
@huahaiy

huahaiy commented Feb 8, 2023

Copy link
Copy Markdown
Contributor

It would be great if you could add a test for this! Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants