yumemi/gen/emit/front

面の束 ── route / blocks / widgets / API / Service / Out の写し。 面側へ back の module を再輸出せず、面 package が単独で型を持てる形にする。

Values

pub fn decoder_notes(
  app: model.App,
  units: List(source.Unit),
) -> List(stop.Note)

Stop before writing a decoder for variants with the same encoded shape.

pub fn emit(
  app: model.App,
  back_units: List(source.Unit),
  package: face.Package,
  model_: front.Front,
  hashes: hash.Hashes,
) -> List(types.File)
pub fn gate(
  app: model.App,
  back_units: List(source.Unit),
  package: face.Package,
  front: front.Front,
) -> gate.Gate

面の門(数える口を back の入口へ渡すのに生成器の入口が読む、0.12)。

pub fn gate_notes(
  app: model.App,
  back_units: List(source.Unit),
  package: face.Package,
  front: front.Front,
) -> List(stop.Note)

門の宣言(src/gate.gleam)の診断。

pub fn interactive_notes(
  app: model.App,
  back_units: List(source.Unit),
  package: face.Package,
  front: front.Front,
  hashes: hash.Hashes,
) -> List(stop.Note)

emit の側で見る interactive Component の条文(Service の model と route の要るもの)。

pub fn live_notes(
  app: model.App,
  package: face.Package,
  front: front.Front,
) -> List(stop.Note)

Live(0.14)の検査。止めるもの(停止コード 4、宣言の矛盾):Layout の placements の Live(v0 は Page だけ)、 同じ Page に同じ Block の Live が 2 つ、端の名が読めない、Block が Service の Out を受けない・その Service が書き (effect: Write)・その Service に root の Entity が無い(合図の宛先が導けない)。警告(停止コード 0):Block の中の 鍵の無い並び(el.each・list.map)の要素が interactive Component か details を持つ(鍵が無いと書きかけや開閉が別の行に化ける)、edge: Bottom の Block に el.fresh が無い。

pub fn live_reads(
  app: model.App,
  front: front.Front,
) -> List(String)

札を出す読みの Service の名(0.14.1、registry の live の読みの行)。Page の sp の Frame で Live に置かれた Block の読みのうち、root の Entity を持ち、allow が root の当事者に絞るもの(そうでない Live は live_notes が exit 4 で止める ── live_reach)。

pub fn route_notes(
  app: model.App,
  package_name: String,
  front: front.Front,
  hashes: hash.Hashes,
) -> List(stop.Note)
pub fn route_order(left: String, right: String) -> order.Order

route 表の順 ── 段ごとに比べ、同じ位置で literal の段を param の段より先に置く (/articles/new は /articles/:id より先)。shell も門もこの順で最初に当たった Page を採る。

pub fn route_variant(page: front.Page) -> String

Page の閉じた enum Route の variant 名(フォルダの道の各段を PascalCase にしてつなぐ、根は Root)。

pub fn surface_notes(
  app: model.App,
  units: List(source.Unit),
  package: face.Package,
  front: front.Front,
) -> List(stop.Note)

第 2・26〜30 条と、生の CSS の規則の数え(exit 0 の警告、面ごとに 1 行)。

✨ Search Document