Ce plugin propose une série d'instructions spécifiques de transformation sur un seul champ d'un objet. Cette notion est utilisée dans lodex pour transformer les valeurs des colonnes à charger.
Chaque instruction possède le paramètre field
.
Il s'agit du chemin vers le champ à transformer ou le chemin vers un nouveau champ.
Il est possible d'enchaîner les transformations sur un même champ :
[$PREFIX]
field = tag
with = <
[$SUFFIX]
field = tag
with = >
Comme cette série d'instructions fonctionne uniqument sur un seul champ (et non sur la totalité comme les autres plugins),
elle génère en sortie un champ "technique" nommé $origin
qui contient l'objet tel qu'il était avant d'appliquer un traitement.
Ce champ peut être facilement supprimé :
[$UPPERCASE]
field = title
[exchange]
value = omit('$origin')
[
{ "id": 1, "title": "un" },
{ "id": 2, "title": "deux" },
{ "id": 3, "title": "trois" },
]
Script:
[use]
plugin = transformers
[$UPPERCASE]
field = title
[$SUFFIX]
field = title
with = §
[$STRING]
field = id
[$PREFIX]
field = id
with = uri:/
Output:
[
{ "id": "uri:/1", "title": "UN§" },
{ "id": "uri:/2", "title": "DEUX§" },
{ "id": "uri:/3", "title": "TROIS§" },
]
npm install @ezs/transformers
- $ARRAY
- $BOOLEAN
- $CAPITALIZE
- $COLUMN
- $CONCAT
- $CONCAT_URI
- $DEFAULT
- $FORMAT
- $GET
- $JOIN
- $LOWERCASE
- $MAPPING
- $MASK
- $NUMBER
- $PARSE
- $PREFIX
- $REMOVE
- $REPLACE
- $REPLACE_REGEX
- $SELECT
- $SHIFT
- $SPLIT
- $STRING
- $SUFFIX
- $TRIM
- $TRUNCATE
- $TRUNCATE_WORDS
- $UNIQ
- $UPPERCASE
- $URLENCODE
- $VALUE
transformer une chaîne de caractères en tableau avec un seul element
Exemple :
[$ARRAY]
field = keywords
[exchange]
value = omit('$origin')
Entrée:
[{
"keywords": "un"
}, {
"keywords": "deux"
}]
Sortie:
[{
"keywords": ["un"]
}, {
"keywords": ["deux"]
}]
data
feed
field
String field path to apply the transformation
Returns Object
transformer une chaîne de caractères en booléen
Exemple :
[$BOOLEAN]
field = haveMoney
[exchange]
value = omit('$origin')
Entrée:
[{
"name": "Chuck",
"haveMoney": 10000
}, {
"name": "Charlot",
"haveMoney": "yes"
}, {
"name": "Alan",
"haveMoney": 1
}]
Sortie:
[{
"name": "Chuck",
"haveMoney": false
}, {
"name": "Charlot",
"haveMoney": true
}, {
"name": "Alan",
"haveMoney": true
}]
data
feed
field
String field path to apply the transformation
Returns Object
mettre le premier caractère en majuscule
Exemple :
[$CAPITALIZE]
field = title
data
feed
field
String? field path to apply the transformation
Returns Object
prendre une donnée dans un champ (colonne d'un fichier tabulé)
Exemple :
[$COLUMN]
field = newTitle
column = oldTitle
data
feed
field
String field path to apply the transformationcolumn
String value to use during the transformation
Returns Object
concaténer deux valeurs
Exemple :
[$CONCAT]
field = result
columns = part1
columns = part2
data
feed
field
String field path to get the result of the transformationcolumns
String field path to get value
Returns Object
composer un identifiant avec plusieurs champs
Exemple :
[$CONCAT_URI]
field = identifiant
column = nom
column = prenom
separator = -
data
feed
field
String field path to get the result of the transformationcolumn
String field path to get dataseparator
String glue between each column
Returns Object
donner une valeur par défaut
Exemple :
[$DEFAULT]
field = title
alternative = not available
data
feed
field
String field path to apply the transformationalternative
String value to use if field does not exist
Returns Object
appliquer un patron (template)
[$DEFAULT]
field = source
with = (%s:%s)
data
feed
field
String field path to get data source (must be an array)with
String template string like sprintf
Returns Object
Récupère toutes les valeurs correspondant à un chemin (dot path)
Exemple :
[$GET]
field = output
path = input
data
feed
field
String field path to get the result of the transformationpath
String field path to get value
Returns Object
Rassemble les valeurs d'un tableau en une chaîne de caractères
Exemple :
[$JOIN]
field = output
path = input
data
feed
field
String field path to apply the transformation (must be an array)separator
String glue between each field
Returns Object
mettre en bas de casse (minuscules)
Exemple :
[$LOWERCASE]
field = title
data
feed
field
String field path to apply the transformation
Returns Object
Opération permettant le remplacement à partir d'une table (équivalent à l'enchaînement de plusieurs opérations $REPLACE)
Exemple :
[$MAPPING]
field = keywords
list = "hello":"bonjour", "hi":"salut"
Returns Object
S'assure que la valeur respecte une expression régulière
Exemple :
[$MASK]
field = title
with = ^[a-z]+$
Returns Object
transformer une chaîne de caractères en nombre
Exemple :
[$NUMBER]
field = counter
data
feed
field
String field path to apply the transformation
Returns Object
Analyser un chaine de caractère comme étant du JSON
Exemple :
[$PARSE]
field = json
data
feed
field
String field path to apply the transformation
Returns Object
préfixer la valeur avec une chaîne de caractères
Exemple :
[$PREFIX]
field = title
with = #
data
feed
field
String field path to apply the transformationwith
String value to add at the begining of the field
Returns Object
supprimer un élément ou une sous-chaîne
Exemple :
[$REMOVE]
field = title
the = .
Returns Object
remplacer une chaîne par une autre
Exemple :
[$REPLACE]
field = title
searchValue = 1
replaceValue = un
data
feed
field
String field path to apply the transformationsearchValue
String value to searchreplaceValue
String value to replace with
Returns Object
remplacer une chaîne par une autre via une exrpression régulière
Exemple :
[$REPLACE_REGEX]
field = title
searchValue = $hel\w+
replaceValue = bonjour
data
feed
field
String field path to apply the transformationsearchValue
String regex to searchreplaceValue
String value to replace with
Returns Object
Prendre une valeur dans un objet à partir de son chemin (dot path)
Exemple :
[$SELECT]
field = title
path = en
data
feed
field
String field path to get the result of the selectionpath
String field path to get value
Returns Object
décaler une valeur multiple (tableau ou chaîne de caractères)
Exemple :
[$SHIFT]
field = title
gap = 2
data
feed
path
String field path to apply the transformationgap
String how many items or characters to drop
Returns Object
segmente une chaîne de caractères en tableau
Exemple :
[$SPLIT]
field = title
separator = |
data
feed
field
String field path to apply the transformationseparator
String value to use to split the field
Returns Object
transforme la valeur en chaîne de caractères
Exemple :
[$STRING]
field = title
data
feed
field
String field path to apply the transformation
Returns Object
ajoute une chaîne de caractères à la fin d'une chaîne ou d'un tableau
Exemple :
[$SUFFIX]
field = title
with = !
data
feed
field
String field path to apply the transformationwith
String value to add at the end of the field
Returns Object
enlève les espaces au début et à la fin d'une chaîne de caractères
Exemple :
[$TRIM]
field = title
data
feed
field
String field path to apply the transformation
Returns Object
tronque, prend les premières valeurs d'un tableau, d'une chaîne
Exemple :
[$TRUNCATE]
field = title
gap = 25
data
feed
field
String field path to apply the transformationgap
String how many items or characters to keep
Returns Object
Opération permettant la troncature par nombre de mots et non pas par nombre de caractères comme pour l'opération $TRUNCATE
Exemple :
[$TRUNCATE_WORDS]
field = title
gap = 10
Returns Object
dédoublonne les valeurs (dans un tableau)
Exemple :
[$UNIQ]
field = title
data
feed
field
String field path to apply the transformation (must be an aarray)
Returns Object
mettre la chaîne en majuscules
Exemple :
[$UPPERCASE]
field = title
data
feed
field
String field path to apply the transformation
Returns Object
encode une chaine comme dans une URL
Exemple :
[$URLENCODE]
field = url
data
feed
field
String field path to apply the transformation
Returns Object
Fixer une valeur
Exemple :
[$VALUE]
field = title
value = Hello world
Returns Object