nfdi4plants / ARCtrl

Library for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtime-agnostic contract systems.
MIT License
11 stars 8 forks source link

Fable-compatible version of `System.Dynamic.DynamicObject` #385

Closed kMutagene closed 1 month ago

kMutagene commented 3 months ago

Related: #384

We need a representation of an object that can have statically typed members that are known at runtime with an additional mechanism to set dynamic members at runtime. This is needed to fully implement a data model that is compatible with RO-Crate and bioschemas/schema.org, because our data model may only support known fields, but the nature of RO-Crate will make it possible to encounter all kinds of additional properties during parsing, and we never want to loose that information.

A DynamicObject is basically only needed in our statically typed world, in js/python we should have no problems from a usage side, so this is more of an issue of using the right Fable internals to make this usable in .NET, while just compiling to normal objects in JS/python.

kMutagene commented 1 month ago

@HLWeil can this be closed?

HLWeil commented 1 month ago

Yep this was closed with https://github.com/CSBiology/DynamicObj/pull/23