yumemi/gen/emit/back

back の束(WGy、0.11.1)── src/server.gleam を宣言した app に、api/src/gen の宣言から導ける 部分を書く。framework の固定の JS(yumemi/server/*.mjs、yumemi の package に載る)は写さず、 生成物は表と配線だけを持つ。宣言から導けない業務の行は hooks に名を宣言した ★ だけを import する。

file入力
src/gen/registry.mjsService の宣言・entry・server.routes / server.aliases、folded は Service の source を生成時に判定
src/gen/sql.mjsapp の db/queries/** と、この回に生成した SQL のうち app に無い道
src/gen/subject.gleamsubject: True の Entity
src/gen/key.gleamkey が値型 1 つの Entity
src/gen/<sum>.mjspayload を持つ sum の Property(entity.visit.Source -> source.mjs)
src/gen/queue_runtime.mjsService が queue.<kind> で呼ぶ kind と、その Service の Args / root
src/gen/cron_runtime.mjsserver.cron
src/gen/shell.mjsserver.cron / server.durable_objects
src/gen/attached.mjsserver.attached(入口の検査が registry と並べて引く)
src/gen/codec.mjsEntity と値型(emit/codec)
src/gen/operations_ffi.mjswith の逆向き矢印(root の子の List)
src/gen/entry/{auth,queue,system}.gleamframework の session / outbox の契約(固定)

Types

pub type Output {
  Output(files: List(types.File), notes: List(stop.Note))
}

Constructors

Values

pub fn emit(
  app: model.App,
  units: List(source.Unit),
  hashes: hash.Hashes,
  app_queries: List(#(String, String)),
  generated: List(types.File),
) -> Output

app_queries は app の db/queries/**(道は .sql 無し)、generated はこの回の生成物全部。

✨ Search Document