#!/usr/bin/env sh

set -eu

for i in ${@}; do
  if [ -L "${i}" ]; then
    echo "file '${i}': skipping, is symlink"
  elif [ -f "${i}" ]; then
    echo "file '${i}': formatting"
    docker run --rm -it -v "${PWD}:/workdir" docker.io/mikefarah/yq:4.35.2 -i '.
      | (.. | (select(key == "namespace")) | key) = "aaa_00_namespace"
      | (.. | (select(key == "name")) | key) = "aaa_01_name"
      | (.. | (select(key == "block")) | key) = "aaa_02_block"
      | (.. | (select(key == "rescue")) | key) = "aaa_03_rescue"
      | (.. | (select(key == "always")) | key) = "aaa_04_always"
      | sort_keys(..)
      | (.. | (select(key == "aaa_00_namespace")) | key) = "namespace"
      | (.. | (select(key == "aaa_01_name")) | key) = "name"
      | (.. | (select(key == "aaa_02_block")) | key) = "block"
      | (.. | (select(key == "aaa_03_rescue")) | key) = "rescue"
      | (.. | (select(key == "aaa_04_always")) | key) = "always"
    ' \
    "${i}"
  else
    echo "file '${i}': error"
  fi
done
