@dxos/echo-schema
TypeScript icon, indicating that this package has built-in type declarations

0.7.0 • Public • Published

@dxos/echo-schema

ECHO database.

Installation

pnpm i @dxos/echo-schema

DXOS Resources

ECHO Schema

  • ECHO Schema is a lightweight runtime type system to define objects independently of their storage (e.g., native file system, browser storage, ECHO)
  • All objects are associated with a schema definition.
  • Schemas are defined by EffectTS.
  • Schemas may be statically defined by code, or be runtime mutable.
  • Each space maintains a schema registry.
  • Schema definitions are versioned with semvar semantics.
    • Objects created with a schema version lower than the current major/minor version must be migrated.
    • Non-migrated objects are not visible to queries unless explicitly requested.
  • Schema definitions are serializable via JSON schema.
  • Properties may include strong and weak references to other objects.
    • Strong references define an owning relationship indicating that referenced objects should be deleted (or migrated) when the parent object is deleted.
  • Objects include the following metadata:
    • Schema name (immutable)
    • Schema version: updated during schema migration
    • Version
    • Creation time (immutable)
    • Last mutation time

Contributions

Your ideas, issues, and code are most welcome. Please take a look at our community code of conduct, the issue guide, and the PR contribution guide.

License: MIT Copyright 2022 © DXOS

Readme

Keywords

none

Package Sidebar

Install

npm i @dxos/echo-schema

Homepage

dxos.org

Weekly Downloads

2,600

Version

0.7.0

License

MIT

Unpacked Size

1 MB

Total Files

180

Last publish

Collaborators

  • richburdon
  • marik_d
  • wittjosiah
  • dxos-bot
  • mykola-vrmchk