const setOneFeature: ContextState[1]['setOneFeature'] = async (feature) => {
const layerIndex = state.layers.findIndex(
(item) => item && item.id === feature.layer
)
if (layerIndex === -1) {
throw new Error('layer is undefined ๐ฉ')
}
setState(
'layers',
layerIndex,
'features',
produce((features) => {
if (!features) {
features = [feature]
} else {
const prevFeature = features.find((item) => item.id === feature.id)
if (prevFeature) {
_.merge(prevFeature, feature)
} else {
features.push(feature)
}
}
})
)
}
const setOneFeature: ContextState[1]['setOneFeature'] = async (feature) => {
const layerIndex = state.layers.findIndex(
(item) => item && item.id === feature.layer
)
if (layerIndex === -1) {
throw new Error('layer is undefined ๐ฉ')
}
setState(
'layers',
layerIndex,
'features',
produce((features) => {
if (!features) {
features = [feature]
} else {
const prevFeature = features.find((item) => item.id === feature.id)
if (prevFeature) {
_.merge(prevFeature, feature)
} else {
features.push(feature)
}
}
})
)
}