// The datamodel package defines the most essential interfaces for describing IPLD Data -- // such as Node, NodePrototype, NodeBuilder, Link, and Path. // // Note that since interfaces in this package are the core of the library, // choices made here maximize correctness and performance -- these choices // are *not* always the choices that would maximize ergonomics. // (Ergonomics can come on top; performance generally can't.) // You'll want to check out other packages for functions with more ergonomics; // for example, 'fluent' and its subpackages provide lots of ways to work with data; // 'traversal' provides some ergonomic features for walking around data graphs; // any use of schemas will provide a bunch of useful data validation options; // or you can make your own function decorators that do what *you* need. package datamodel