You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
there are two options to fix this with JSON::{XS,PP}'s allow_tags and FREEZE/THAW (which are the only solution short of a new JSON parser in Sidef)
Alias FREEZE to ABCs::Serializable.serialize and THAW to ABCs::Serializable.unserialize, in the definition of Serializable, much simpler
Add another layer of wrapping to Explicit::tag_hash / untag_hash, which uses a special class TagObject { has val; has type; has subtype; -> FREEZE {} -> THAW {} }, so that all inputs to tag_hash / untag_hash are first genericised to TagObject, which is then given to JSON::XS.allow_tags, a solution which keeps all JSON-related implementaion details out of ABCs::Serializable
There is quite a large problem still, which is that relying on allow_tags means the database JSON will not be standard syntax (("classname")[objects...])
The text was updated successfully, but these errors were encountered: