export function groupByClassNameStackRegionStage()

in src/riff-raff-yaml-file/group-by.ts [21:41]


export function groupByClassNameStackRegionStage(cdkStacks: GuStack[]): GroupedCdkStacks {
  return Object.entries(groupByClassName(cdkStacks)).reduce(
    (accClassName, [className, stacksGroupedByClassName]) => ({
      ...accClassName,
      [className]: Object.entries(groupByStackTag(stacksGroupedByClassName)).reduce(
        (accStackTag, [stackTag, stacksGroupedByStackTag]) => ({
          ...accStackTag,
          [stackTag]: Object.entries(groupByRegion(stacksGroupedByStackTag)).reduce(
            (accRegion, [region, stacksGroupedByRegion]) => ({
              ...accRegion,
              [region]: groupByStageTag(stacksGroupedByRegion),
            }),
            {},
          ),
        }),
        {},
      ),
    }),
    {},
  );
}