streamich/json-joy

JSON CRDT Type

Opened this issue · 0 comments

Create a way to specify declaratively JSON CRDT schema.

Use case: the schema could be defined on the server and every document patch would be validated against that schema and dropped if resulting documents does not satisfy the schema.

Schema example:

{
  type: 'obj',
  fields: {
    id: { type: 'con' },
    name: { type: 'str' },
    count: { type: 'num' },
    tags: {
      type: 'arr',
      values: { type: 'str' }
    }
  }
}

Unknowns:

  • How to deal with union types.
  • Howe to deal with type discriminators.