export function extractUpdateState()

in experimenter/experimenter/nimbus-ui/src/components/PageEditBranches/FormBranches/reducer/update.ts [35:74]


export function extractUpdateState(
  state: FormBranchesState,
  formData: FormData,
): FormBranchesSaveState {
  const {
    featureConfigIds,
    warnFeatureSchema,
    isRollout,
    referenceBranch,
    treatmentBranches,
    preventPrefConflicts,
    isLocalized,
    localizations,
  } = state;

  if (!referenceBranch) {
    throw new UpdateStateError(CONTROL_BRANCH_REQUIRED_ERROR);
  }

  const extractedState = {
    featureConfigIds,
    warnFeatureSchema,
    isRollout,
    isLocalized,
    localizations,
    referenceBranch: extractUpdateBranch(
      referenceBranch,
      formData.referenceBranch,
    ),
    treatmentBranches:
      treatmentBranches === null
        ? []
        : treatmentBranches.map(
            (branch, idx) =>
              extractUpdateBranch(branch, formData.treatmentBranches?.[idx]!)!,
          ),
    preventPrefConflicts,
  };
  return extractedState;
}