Joystream Content Directory Metadata Library
This package contains protobuf message definitions compiled to Javascript/Typescript used for creating and updating various metadata blobs in the joystream content directory.
Message Specs
Documented in doc folder
Choice of protobuf protocol v2
For our usecase we wish to re-use same message to create and update subset of fields.
For this reason we need the explicit information about wether a field has been set or not and this is only possible with proto v2.
Background: required/optional feilds are deprecated in proto v3
Helper methods
The custom Joystream types such as License have helper methods to construct pre-defined well known values.
Example code:
Best place to look at are the tests specs
Opaque types
We use simple ISO_639-1 code representation for Language.
useful npm package https://www.npmjs.com/package/iso-639-1
Building the package
Building will compile the protofiles and build the library from source.
yarn && yarn build
Generating docs
yarn generate-docs
Tests
yarn test