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

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