synopsys
Version:
Synopsys is proof of concept datastore service. It stores facts in terms of entity attribute value triples and allows clients to subscribe to _(datomic inspired)_ queries pushing updates to them when new transactions affect results.
25 lines (22 loc) • 560 B
JavaScript
import * as CBOR from '@ipld/dag-cbor'
import * as Reference from './datum/reference.js'
/**
* @param {import('datalogia').Datum} datum
*/
export const toBytes = ([entity, attribute, value, cause]) => {
return CBOR.encode([entity, attribute, value, cause])
}
/**
*
* @param {Uint8Array} bytes
* @returns {import('datalogia').Datum}
*/
export const fromBytes = (bytes) => {
const [entity, attribute, value, cause] = CBOR.decode(bytes)
return [
Reference.from(entity),
attribute,
Reference.from(value),
Reference.from(cause),
]
}