def key_names
import bend-schema-lib@0.4.1.0/core.bend as Coreimport Base
254# ---- a strict object: its keys ----
255#
256# The names a record or variant chain declares. SStrict refuses a key that is
257# not one of them; wf asks that SStrict wrap such a chain.
258def key_names(s: Schema) -> List<&2, String>:
259 match s:
260 case SField{n, fs, rest}:
261 n <> key_names(rest)
262 case SVariant{n, vs, rest}:
263 n <> key_names(rest)
264 case _:
265 Nil{}