Leszek Wiesner bb2b87a98a Types and metadata-protobuf: Patch to target es2017 2 роки тому
..
doc f9e0eed55d Update protobuf docs 3 роки тому
proto fe7f0ed435 Change DistributionBucketFamilyMetadata standard 3 роки тому
scripts 65f45025c0 Fix protobuf compilation script 3 роки тому
src fe7f0ed435 Change DistributionBucketFamilyMetadata standard 3 роки тому
test b7313942df @joystream/content-metadata-protobuf -> @joystream/metadata-protobuf 3 роки тому
.eslintignore 34a3f88e90 Add metadata-protobuf package + storage v2 metadata standards 3 роки тому
.eslintrc.js 34a3f88e90 Add metadata-protobuf package + storage v2 metadata standards 3 роки тому
.gitignore b7313942df @joystream/content-metadata-protobuf -> @joystream/metadata-protobuf 3 роки тому
.prettierignore 34a3f88e90 Add metadata-protobuf package + storage v2 metadata standards 3 роки тому
README.md b7313942df @joystream/content-metadata-protobuf -> @joystream/metadata-protobuf 3 роки тому
doc-appendix.md b7313942df @joystream/content-metadata-protobuf -> @joystream/metadata-protobuf 3 роки тому
generate-md-doc.sh b7313942df @joystream/content-metadata-protobuf -> @joystream/metadata-protobuf 3 роки тому
package.json bb2b87a98a Types and metadata-protobuf: Patch to target es2017 2 роки тому
tsconfig.json bb2b87a98a Types and metadata-protobuf: Patch to target es2017 2 роки тому

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