Effects.remote: def of near-v-framework@0.4.0.0
Import: import near-v-framework@0.4.0.0/domain/architecture/system/effects.bend as Effects
Lines 127-136 of near-v-framework@0.4.0.0/domain/architecture/system/effects.bend: https://jend.leeeet.dev/read.txt?path=near-v-framework@0.4.0.0/domain/architecture/system/effects.bend&start_line=127&end_line=136
import Base
import near-v-framework@0.4.0.0/domain/architecture/system/effs/io.bend as X
import near-v-framework@0.4.0.0/domain/architecture/system/release/type.bend as Rl
import near-v-framework@0.4.0.0/domain/architecture/system/plan/type.bend as P
def remote(+root: String, r: Rl.Repository) -> IO(P.Remote):
match r:
case Rl.Repository{+name, _}:
do IO
:
origin : String <- X.run("git", ["-C", root, "remote", "get-url", "origin"])
vis : String <- X.run("gh", ["repo", "view", name, "--json", "visibility", "--jq", ".visibility"])
status : String <- X.run("git", ["-C", root, "status", "--porcelain"])
head : String <- X.run("git", ["-C", root, "ls-remote", "origin", "refs/heads/main"])
up : Bool <- pushed(root, first_word(head))
return P.Remote{String.trim(origin), String.to_lower(String.trim(vis)), String.is_empty(String.trim(status)), up}
Uses (14):
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.bind
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.pure
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.is_empty
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.to_lower
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.trim
https://jend.leeeet.dev/definition.txt?path=near-v-framework@0.4.0.0/domain/architecture/system/effects.bend&name=first_word
https://jend.leeeet.dev/definition.txt?path=near-v-framework@0.4.0.0/domain/architecture/system/effects.bend&name=pushed
https://jend.leeeet.dev/definition.txt?path=near-v-framework@0.4.0.0/domain/architecture/system/effs/io.bend&name=run
https://jend.leeeet.dev/definition.txt?path=near-v-framework@0.4.0.0/domain/architecture/system/plan/type.bend&name=Remote
https://jend.leeeet.dev/definition.txt?path=near-v-framework@0.4.0.0/domain/architecture/system/release/type.bend&name=Repository