enable conditionnal converter
This commit is contained in:
parent
092798f4b1
commit
af4f6df4b5
|
@ -158,63 +158,63 @@ export default class {
|
|||
if (convertedValue) {
|
||||
newProperties[keyConvertedFromMapping] = convertedValue
|
||||
}
|
||||
} else if (isConfigMappingObject) {
|
||||
debugLog('convertProperty: is config object')
|
||||
} else {
|
||||
debugLog('convertProperty: no string value')
|
||||
}
|
||||
|
||||
// TODO handle config object for complex mapping
|
||||
// else if (isConfigMappingObject) {
|
||||
// let newKey = ''
|
||||
// let configObject = valueConvertedFromMapping
|
||||
//
|
||||
// if (configObject.key_converted) {
|
||||
// newKey = configObject.key_converted
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * gestion des valeurs conditionnelles
|
||||
// * nous pouvons renseigner une string ou un objet décrivant les transformations à réaliser
|
||||
// */
|
||||
// if (configObject.conditional_values) {
|
||||
// let keysConditionnalValues = Object.keys(configObject.conditional_values)
|
||||
// let isFoundValue = keysConditionnalValues.indexOf(valueConvertedFromMapping)
|
||||
// if (isFoundValue !== -1) {
|
||||
// let conditionnalConfig :any = keysConditionnalValues[isFoundValue]
|
||||
//
|
||||
// if (conditionnalConfig.tags_to_add) {
|
||||
// // on peut définir un ensemble de tags à rajouter
|
||||
// newProperties.push(...conditionnalConfig.tags_to_add)
|
||||
// }
|
||||
// if (conditionnalConfig.truthy_value) {
|
||||
// // convertir la valeur, si elle est truthy, la transformer en ce que donne la propriété truthy_value
|
||||
// // exemple: le jeu de données dit que la colonne cable_t2_attache vaut "True", mais on veut le convertir en "1".
|
||||
// // on met donc truthy_value: '1'
|
||||
// if (this.truthyValues.indexOf(valueConvertedFromMapping) !== -1) {
|
||||
// convertedValue = conditionnalConfig.truthy_value
|
||||
// }
|
||||
// }
|
||||
// if (conditionnalConfig.falsy_value) {
|
||||
// if (this.falsyValues.indexOf(valueConvertedFromMapping) !== -1) {
|
||||
// convertedValue = conditionnalConfig.falsy_value
|
||||
// }
|
||||
// }
|
||||
// if (conditionnalConfig.transform_function) {
|
||||
// // une transformation de la valeur
|
||||
// // apply transformation to value
|
||||
// convertedValue = conditionnalConfig.transform_function(valueConvertedFromMapping)
|
||||
// }
|
||||
// // use the value converted
|
||||
// else if (conditionnalConfig.value_converted) {
|
||||
// convertedValue = conditionnalConfig.value_converted
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (newKey && !configObject.ignore_this_data) {
|
||||
// newProperties[newKey] = convertedValue
|
||||
// }
|
||||
// }
|
||||
if (isConfigMappingObject) {
|
||||
debugLog('convertProperty: is config object')
|
||||
let newKey = ''
|
||||
let configObject = valueConvertedFromMapping
|
||||
|
||||
if (configObject.key_converted) {
|
||||
newKey = configObject.key_converted
|
||||
}
|
||||
|
||||
/**
|
||||
* gestion des valeurs conditionnelles
|
||||
* nous pouvons renseigner une string ou un objet décrivant les transformations à réaliser
|
||||
*/
|
||||
if (configObject.conditional_values) {
|
||||
let keysConditionnalValues: any = Object.keys(configObject.conditional_values)
|
||||
let isFoundValue = keysConditionnalValues.indexOf(valueConvertedFromMapping)
|
||||
if (isFoundValue !== -1) {
|
||||
let conditionnalConfig: any = keysConditionnalValues[isFoundValue]
|
||||
|
||||
if (conditionnalConfig.tags_to_add) {
|
||||
// on peut définir un ensemble de tags à rajouter
|
||||
newProperties.push(...conditionnalConfig.tags_to_add)
|
||||
}
|
||||
if (conditionnalConfig.truthy_value) {
|
||||
// convertir la valeur, si elle est truthy, la transformer en ce que donne la propriété truthy_value
|
||||
// exemple: le jeu de données dit que la colonne cable_t2_attache vaut "True", mais on veut le convertir en "1".
|
||||
// on met donc truthy_value: '1'
|
||||
if (this.truthyValues.indexOf(valueConvertedFromMapping) !== -1) {
|
||||
convertedValue = conditionnalConfig.truthy_value
|
||||
}
|
||||
}
|
||||
if (conditionnalConfig.falsy_value) {
|
||||
if (this.falsyValues.indexOf(valueConvertedFromMapping) !== -1) {
|
||||
convertedValue = conditionnalConfig.falsy_value
|
||||
}
|
||||
}
|
||||
if (conditionnalConfig.transform_function) {
|
||||
// une transformation de la valeur
|
||||
// apply transformation to value
|
||||
convertedValue = conditionnalConfig.transform_function(valueConvertedFromMapping)
|
||||
}
|
||||
// use the value converted
|
||||
else if (conditionnalConfig.value_converted) {
|
||||
convertedValue = conditionnalConfig.value_converted
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (newKey && !configObject.ignore_this_data) {
|
||||
newProperties[newKey] = convertedValue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ export interface FeaturePropertyMappingConfigType{
|
|||
[key:string]: any,
|
||||
key_converted?:string,
|
||||
truthy_value?:any,
|
||||
transformer?:Function,
|
||||
}
|
||||
export interface BoundingBoxCoordinatesType{
|
||||
xMin: number,
|
||||
|
|
Loading…
Reference in New Issue