File: .lake/packages/lean4/src/lean/lake/Lake/Config/TargetConfig.lean

full_name: Lake.TargetConfig.getJob
code: /-- A custom target's declarative configuration. -/
structure TargetConfig (pkgName name : Name) : Type where
  /-- The target's build function. -/
  build : (pkg : NPackage pkgName) → FetchM (CustomData (pkgName, name))
  /-- The target's resulting build job. -/
  getJob : CustomData (pkgName, name) → BuildJob Unit
  deriving Inhabited
goal: Lake.CustomData (pkgName, name) → Lake.BuildJob Unit

full_name: Lake.TargetConfig
code: /-- A custom target's declarative configuration. -/
structure TargetConfig (pkgName name : Name) : Type where
  /-- The target's build function. -/
  build : (pkg : NPackage pkgName) → FetchM (CustomData (pkgName, name))
  /-- The target's resulting build job. -/
  getJob : CustomData (pkgName, name) → BuildJob Unit
  deriving Inhabited
goal: Type

full_name: Lake.instInhabitedTargetConfig
code: /-- A custom target's declarative configuration. -/
structure TargetConfig (pkgName name : Name) : Type where
  /-- The target's build function. -/
  build : (pkg : NPackage pkgName) → FetchM (CustomData (pkgName, name))
  /-- The target's resulting build job. -/
  getJob : CustomData (pkgName, name) → BuildJob Unit
  deriving Inhabited
goal: {a a_1 : Lake.Name} → Inhabited (Lake.TargetConfig a a_1)

full_name: Lake.TargetConfig.build
code: /-- A custom target's declarative configuration. -/
structure TargetConfig (pkgName name : Name) : Type where
  /-- The target's build function. -/
  build : (pkg : NPackage pkgName) → FetchM (CustomData (pkgName, name))
  /-- The target's resulting build job. -/
  getJob : CustomData (pkgName, name) → BuildJob Unit
  deriving Inhabited
goal: Lake.FetchM (Lake.CustomData (pkgName, name))

full_name: Lake.mkTargetJobConfig
code: /-- A smart constructor for target configurations that generate CLI targets. -/
@[inline] def mkTargetJobConfig
(build : (pkg : NPackage pkgName) → FetchM (BuildJob α))
[h : FamilyOut CustomData (pkgName, name) (BuildJob α)] : TargetConfig pkgName name 
goal: Lake.TargetConfig pkgName name

full_name: Lake.TargetDecl.name
code: /-- A dependently typed configuration based on its registered package and name. -/
structure TargetDecl where
  pkg : Name
  name : Name
  config : TargetConfig pkg name
goal: Lake.Name

full_name: Lake.TargetDecl
code: /-- A dependently typed configuration based on its registered package and name. -/
structure TargetDecl where
  pkg : Name
  name : Name
  config : TargetConfig pkg name
goal: Type

full_name: Lake.TargetDecl.config
code: /-- A dependently typed configuration based on its registered package and name. -/
structure TargetDecl where
  pkg : Name
  name : Name
  config : TargetConfig pkg name
goal: Lake.TargetConfig self.pkg self.name

full_name: Lake.TargetDecl.pkg
code: /-- A dependently typed configuration based on its registered package and name. -/
structure TargetDecl where
  pkg : Name
  name : Name
  config : TargetConfig pkg name
goal: Lake.Name

full_name: Lake.OpaqueTargetConfig.instCoeTargetConfig
code: hydrate_opaque_type OpaqueTargetConfig TargetConfig pkgName name
goal: Coe (Lake.TargetConfig pkgName name) (Lake.OpaqueTargetConfig pkgName name)

full_name: Lake.OpaqueTargetConfig.instCoeTargetConfig_1
code: hydrate_opaque_type OpaqueTargetConfig TargetConfig pkgName name
goal: Coe (Lake.OpaqueTargetConfig pkgName name) (Lake.TargetConfig pkgName name)

full_name: Lake.OpaqueTargetConfig.instInhabitedOfTargetConfig
code: hydrate_opaque_type OpaqueTargetConfig TargetConfig pkgName name
goal: Inhabited (Lake.OpaqueTargetConfig pkgName name)

full_name: Lake.Package.findTargetConfig?
code: /-- Try to find a target configuration in the package with the given name . -/
def Package.findTargetConfig? (name : Name) (self : Package) : Option (TargetConfig self.name name) 
goal: Option (Lake.TargetConfig self.name name)