module Novika::IReadableStore

Overview

Implementors act like a form-to-form mapping where entry kind (opens/pushes) is ignored (basically, a read-only, restricted subset of block methods for dictionary access).

Implementors can be targets of entry:fetch, entry:fetch?, entry:exists?, entry:opener?.

Direct including types

Defined in:

novika/dict.cr

Class Method Summary

Instance Method Summary

Class Method Detail

def self.typedesc #

Instance Method Detail

def form_for(name : Form) : Form #

Returns the value form for an entry with the given name, or dies if no such entry exists.


abstract def form_for?(name : Form) : Form | Nil #

Returns the value form for an entry with the given name, or nil if no such entry exists.


abstract def has_form_for?(name : Form) : Bool #

Returns whether this store has an entry with the given name.


abstract def opener?(name : Form) : Bool #

Returns whether name opens its value form, as defined in this store. Dies if name is not defined in this store.


abstract def pusher?(name : Form) : Bool #

Returns whether name pushes its value form, as defined in this store. Dies if name is not defined in this store.