MishkaGervaz.Form.Transformers.MergeDefaults (MishkaGervaz v0.0.1-alpha.2)

Copy Markdown View Source

Fills the form DSL state with sensible defaults before downstream transformers run.

Three responsibilities, applied in order:

  1. Domain inheritance — copy each key in @domain_mappings from the resource's domain into the resource's DSL state when the resource hasn't set it explicitly. Resource overrides win.

  2. Identity defaults — derive identity.name from the resource module name (snake-cased, suffixed with _form) when not set, and derive identity.stream_name as <name>_stream.

  3. Master-check fallback — when neither resource nor domain defines master_check, persist a fallback MFA pointing to MishkaGervaz.Helpers.master_user?/1.

Pipeline

See transform/1 — every stage takes the DSL state as the first argument so the entry point reads top-down.

See MishkaGervaz.Form.Transformers.ResolveFields and MishkaGervaz.Form.Transformers.BuildRuntimeConfig for the downstream transformers that consume these defaults.

Summary

Functions

after?(_)

Callback implementation for Spark.Dsl.Transformer.after?/1.

after_compile?()

Callback implementation for Spark.Dsl.Transformer.after_compile?/0.

before?(_)

Callback implementation for Spark.Dsl.Transformer.before?/1.