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.mjs | Service の宣言・entry・server.routes / server.aliases、folded は Service の source を生成時に判定 |
src/gen/sql.mjs | app の db/queries/** と、この回に生成した SQL のうち app に無い道 |
src/gen/subject.gleam | subject: True の Entity |
src/gen/key.gleam | key が値型 1 つの Entity |
src/gen/<sum>.mjs | payload を持つ sum の Property(entity.visit.Source -> source.mjs) |
src/gen/queue_runtime.mjs | Service が queue.<kind> で呼ぶ kind と、その Service の Args / root |
src/gen/cron_runtime.mjs | server.cron |
src/gen/shell.mjs | server.cron / server.durable_objects |
src/gen/attached.mjs | server.attached(入口の検査が registry と並べて引く) |
src/gen/codec.mjs | Entity と値型(emit/codec) |
src/gen/operations_ffi.mjs | with の逆向き矢印(root の子の List) |
src/gen/entry/{auth,queue,system}.gleam | framework の session / outbox の契約(固定) |
Types
pub type Output {
Output(files: List(types.File), notes: List(stop.Note))
}
Constructors
-
Output(files: List(types.File), notes: List(stop.Note))
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 はこの回の生成物全部。