memory

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package memory is an in-process docstore.Store backed by maps. It is meant for tests, `backyard dev` and single-instance demos: data is lost when the process exits.

Stored documents are immutable values (writes replace them), and data is deep-copied on the way in and out, so callers never alias internal state. Queries are evaluated with the reference implementation in package docstore (docstore.EvalQuery).

Index

Constants

This section is empty.

Variables

View Source
var ErrClosed = errors.New("docstore/memory: store closed")

ErrClosed is returned by operations on a closed store.

Functions

This section is empty.

Types

type Store

type Store struct {
	// contains filtered or unexported fields
}

Store is an in-memory document store. The zero value is not usable; call New.

func New

func New() *Store

New returns an empty store.

func (*Store) Close

func (s *Store) Close() error

Close releases the data; later calls fail with ErrClosed.

func (*Store) Collections

func (s *Store) Collections(ctx context.Context, site string) ([]string, error)

Collections lists the non-empty collections of a site, sorted.

func (*Store) Count

func (s *Store) Count(ctx context.Context, site string) (int64, error)

Count returns the number of documents of a site.

func (*Store) Create

func (s *Store) Create(ctx context.Context, site, collection, id string, data map[string]any, actor string) (*docstore.Doc, error)

Create inserts a new document; see docstore.Store.

func (*Store) Delete

func (s *Store) Delete(ctx context.Context, site, collection, id string) (bool, error)

Delete removes a document; see docstore.Store.

func (*Store) DeleteIf added in v0.2.0

func (s *Store) DeleteIf(ctx context.Context, site, collection, id string, rev docstore.Rev) (bool, error)

DeleteIf removes a document while it is at rev; see docstore.Store.

func (*Store) DeleteSite

func (s *Store) DeleteSite(ctx context.Context, site string) error

DeleteSite removes every document of a site.

func (*Store) Get

func (s *Store) Get(ctx context.Context, site, collection, id string) (*docstore.Doc, error)

Get returns a document; see docstore.Store.

func (*Store) Ping

func (s *Store) Ping(ctx context.Context) error

Ping reports whether the store is open.

func (*Store) Put

func (s *Store) Put(ctx context.Context, site, collection, id string, data map[string]any, actor string) (*docstore.Doc, error)

Put creates or replaces a document; see docstore.Store.

func (*Store) Query

func (s *Store) Query(ctx context.Context, site, collection string, q docstore.Query) (*docstore.Page, error)

Query returns matching documents; see docstore.Store.

func (*Store) Update

func (s *Store) Update(ctx context.Context, site, collection, id string, patch map[string]any, actor string) (*docstore.Doc, error)

Update shallow-merges patch into an existing document; see docstore.Store.

func (*Store) UpdateIf added in v0.2.0

func (s *Store) UpdateIf(ctx context.Context, site, collection, id string, rev docstore.Rev, patch map[string]any, actor string) (*docstore.Doc, error)

UpdateIf is Update while the document is at rev; see docstore.Store.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL