Leszek Wiesner b236ceb0ee metadata-protobuf: Prettier format 3 gadi atpakaļ
..
compiled 86703fa66b Metadata protobuf library - final merge, fixes and utils 3 gadi atpakaļ
doc 86703fa66b Metadata protobuf library - final merge, fixes and utils 3 gadi atpakaļ
proto b68129890f Move content protobuf messages to metadata-protobuf 3 gadi atpakaļ
scripts b236ceb0ee metadata-protobuf: Prettier format 3 gadi atpakaļ
src 86703fa66b Metadata protobuf library - final merge, fixes and utils 3 gadi atpakaļ
test b236ceb0ee metadata-protobuf: Prettier format 3 gadi atpakaļ
.eslintignore bfdace306f Introduce protobuffs 3 gadi atpakaļ
.eslintrc.js bfdace306f Introduce protobuffs 3 gadi atpakaļ
.gitignore bfdace306f Introduce protobuffs 3 gadi atpakaļ
.prettierignore bfdace306f Introduce protobuffs 3 gadi atpakaļ
README.md bfdace306f Introduce protobuffs 3 gadi atpakaļ
compile.sh 1bfe24ed72 Move to protobufjs, more tests, add LeaderUnset event 3 gadi atpakaļ
doc-appendix.md bfdace306f Introduce protobuffs 3 gadi atpakaļ
generate-md-doc.sh bfdace306f Introduce protobuffs 3 gadi atpakaļ
package.json 86703fa66b Metadata protobuf library - final merge, fixes and utils 3 gadi atpakaļ
tsconfig.json bfdace306f Introduce protobuffs 3 gadi atpakaļ

README.md

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.

  • pre-requisists for compiling protofiles:

  • pre-requisists for generating documentation:

Generating docs

yarn generate-docs

Tests

yarn test