yumemi/gen/emit/hash

入力ハッシュ。20 の規約① 「全ファイル先頭に GENERATED from <入力> と入力ハッシュを置く」。 どの入力がその束を決めるかを束ごとに固定する ── app gen --check が「入力が変われば ハッシュが変わる / 変わらなければ変わらない」で判定できるようにするため。

束入力
1 src/gen/types/*src/types.gleam
2 src/gen/query*src/entity/*.gleam 全部
3 src/gen/reads/<svc>その Service + src/types.gleam + src/entity/*.gleam 全部
4 db/queries/<svc>/*束3 と同じ

Types

pub type Hashes {
  Hashes(
    types: String,
    entities: String,
    entity_files: List(#(String, String)),
    services: List(#(String, String)),
    entry: String,
  )
}

Constructors

  • Hashes(
      types: String,
      entities: String,
      entity_files: List(#(String, String)),
      services: List(#(String, String)),
      entry: String,
    )

    Arguments

    entity_files

    Entity module 名 -> その Entity ファイルだけのハッシュ

    services

    Service module 名 -> ハッシュ

    entry

    entry.gleam と全 Service 宣言。入口の route 表を決める入力。

Values

pub fn entity(hashes: Hashes, module: String) -> String
pub fn entry(hashes: Hashes) -> String
pub fn of(units: List(source.Unit)) -> Hashes
pub fn service(hashes: Hashes, module: String) -> String

Service 1つを決める入力のハッシュ。無い Service は Entity の分で代用する。

✨ Search Document