@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

Dependencies (12)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @dxos/echo-schema

    Homepage

    dxos.org

    Weekly Downloads

    2,187

    Version

    0.7.0

    License

    MIT

    Unpacked Size

    1 MB

    Total Files

    180

    Last publish

    Collaborators

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