// Dependencies import { defaultConfig } from '../config/index.mjs' /* * Returns a list of measurements for a design * * @param {object} Design - The Design object * @param {object} measies - The current set of measurements * @return {object} measurements - Object holding measurements that are relevant for this design */ export function designMeasurements(Design, measies = {}) { const measurements = {} for (const m of Design.patternConfig?.measurements || []) measurements[m] = measies[m] for (const m of Design.patternConfig?.optionalMeasurements || []) measurements[m] = measies[m] return measurements } /* * Helper method to check whether measurements are missing * * Note that this does not actually check the settings against * the chosen design, but rather relies on the missing measurements * being set in state. That's because checking is more expensive, * so we do it only once. * * @param {object} state - The Editor state * @return {bool} missing - True if there are missing measurments, false if not */ export function missingMeasurements(state) { return ( !defaultConfig.measurementsFreeViews.includes(state.view) && state._.missingMeasurements && state._.missingMeasurements.length > 0 ) }