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;
}