Plan.safe: def of ezx@1.11.0.0 Import: import ezx@1.11.0.0/src/remove/plan.bend as Plan Lines 89-93 of ezx@1.11.0.0/src/remove/plan.bend: https://jend.leeeet.dev/read.txt?path=ezx@1.11.0.0/src/remove/plan.bend&start_line=89&end_line=93 import Base import ezx@1.11.0.0/src/ledger/manifest.bend as M # a hash `rm -rf .ez/lib/` removes one tree for: a `0x` name with no # path separator in it. `M.parse` does not check a hash's shape, and a ledger # is text a person edits, so this is checked before a tree is removed. def safe(+hash: String) -> Bool: Bool.and(String.starts_with(hash, "0x"), chars.ok(hash)) Uses (5): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.starts_with https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/remove/plan.bend&name=chars.ok