activity/tools/vocab/gen
Cory Slep bed3dbef16 Change vocab Add methods to Append and Prepend
This allows the reverse chronological order to be set as items are
easily prepended to non-functional activity stream properties.
2018-05-27 17:07:40 +02:00
..
README.md Migrate vocabulary library to go-fed. 2018-01-24 00:13:06 +01:00
generate.go Migrate vocabulary library to go-fed. 2018-01-24 00:13:06 +01:00
generate_definitions.go Migrate pub to go-fed. 2018-01-26 00:19:21 +01:00
generate_property_definitions.go Change vocab Add methods to Append and Prepend 2018-05-27 17:07:40 +02:00
util.go Migrate vocabulary library to go-fed. 2018-01-24 00:13:06 +01:00
validation.go Migrate vocabulary library to go-fed. 2018-01-24 00:13:06 +01:00

README.md

gen

This library is used to generate the vocab library implementation. Changes to this will fundamentally change the implementation of the vocab library. If custom ActivityStream types are required, no changes to this are required. Instead, the tools/gen/vocab library will need edits.

Creating a static type implementation from the specification is not straightforward due to the following considerations that stem from its roots in JSON-LD:

  • Any property could be an IRI (url.URL)
  • Most properties could be another ActivityStream type (map[string]interface{}) or a value (time.Time, etc)
  • Most properties can have multiple values ([]interface{})
  • In a multiple value scenario, each value could once more be an IRI, another ActivityStream type, or a value

The current generation algorithm leaves ample opportunity for improvements and optimizations.