Mokhtar Naamani f4cb727dec bump types and metadata npm package version 2 rokov pred
..
doc 8cd0d2d850 Merge branch 'giza_feature_NewContentFeaturesAndNFT' into olympia 2 rokov pred
proto 08d8408796 Add `WorkingGroupOpeningMetadata.title` 2 rokov pred
scripts 65f45025c0 Fix protobuf compilation script 3 rokov pred
src 8cd0d2d850 Merge branch 'giza_feature_NewContentFeaturesAndNFT' into olympia 2 rokov pred
test 270d494841 Forum mappings&tests: runtime changes adjustments and tags functionality 3 rokov pred
.eslintignore 34a3f88e90 Add metadata-protobuf package + storage v2 metadata standards 3 rokov pred
.eslintrc.js 34a3f88e90 Add metadata-protobuf package + storage v2 metadata standards 3 rokov pred
.gitignore b7313942df @joystream/content-metadata-protobuf -> @joystream/metadata-protobuf 3 rokov pred
.prettierignore 34a3f88e90 Add metadata-protobuf package + storage v2 metadata standards 3 rokov pred
README.md b7313942df @joystream/content-metadata-protobuf -> @joystream/metadata-protobuf 3 rokov pred
compile.sh 1bfe24ed72 Move to protobufjs, more tests, add LeaderUnset event 3 rokov pred
doc-appendix.md b7313942df @joystream/content-metadata-protobuf -> @joystream/metadata-protobuf 3 rokov pred
generate-md-doc.sh b7313942df @joystream/content-metadata-protobuf -> @joystream/metadata-protobuf 3 rokov pred
package.json f4cb727dec bump types and metadata npm package version 2 rokov pred
tsconfig.json bb2b87a98a Types and metadata-protobuf: Patch to target es2017 2 rokov pred

README.md

Joystream Metadata Library

This package contains protobuf message definitions compiled to Javascript/Typescript used for creating and updating various metadata blobs in Joystream.

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 using protobufjs and build the library from source.

Generating docs

yarn generate-docs

Tests

yarn test