yumemi/gen/emit/allow
src/gen/allow/<module>.gleam。root が import gen/allow/<m> as allow で指す先を生成物にする。
名は ★ の用法に合わせる(reader/allow):
Who/Ownerは ★ の句に書かれた構成子。OwnerはNoOwnerを常に持つAtはAnyPhaseと、phase があればOnly(List(<entity>.Phase))。phase の Entity は ★ のOnly([...])の要素の module、無ければ allow module と同名の EntityActorは、この allow module を使う root のうち Actor が別名(root.actor_is_sum)の Service の主体の和。Entity は<Type>Actor(<entity>.<Type>)、PartyはAuthenticatedActor(party: PartyId)、SystemはSystemCaller、最後にAnyActor- 判定は ★ が呼ぶものだけ出す ──
is_self/is_<entity>/party_of
入力ハッシュは、この allow module を使う Service と src/types.gleam と src/entity/* 全部。
Values
pub fn emit(
app: model.App,
usages: List(allow.Usage),
units: List(source.Unit),
) -> List(types.File)
pub fn notes(
app: model.App,
usages: List(allow.Usage),
) -> List(stop.Note)