Skip to content

Commit 7050c2c

Browse files
Merge pull request #178 from cleverage/145-sprintf
doc: #145 Add array_map_transformer, multi_replace_transformer and sp…
2 parents 214d72d + 08d261d commit 7050c2c

File tree

7 files changed

+156
-9
lines changed

7 files changed

+156
-9
lines changed

CHANGELOG.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ v4.5
22
-----
33

44
## Changes
5-
65
* [#176](https://github.com/cleverage/process-bundle/issues/176) Upgrade to Symfony 7.3 & PHP 8.4
76

87
v4.4

docs/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
- [EvaluatorTransformer]
100100
- [ExpressionLanguageMapTransformer]
101101
- [MappingTransformer](reference/transformers/mapping_transformer.md)
102-
- [MultiReplaceTransformer]
102+
- [MultiReplaceTransformer](reference/transformers/multi_replace_transformer.md)
103103
- [PregFilterTransformer]
104104
- [RulesTransformer](reference/transformers/rules_transformer.md)
105105
- [TypeSetterTransformer]
@@ -110,7 +110,7 @@
110110
- [ArrayFilterTransformer](reference/transformers/array_filter_transformer.md)
111111
- [ArrayFirstTransformer]
112112
- [ArrayLastTransformer]
113-
- [ArrayMapTransformer]
113+
- [ArrayMapTransformer](reference/transformers/array_map_transformer.md)
114114
- [ArrayUnsetTransformer]
115115
- Date
116116
- [DateFormatTransformer](reference/transformers/date_format.md)
@@ -128,7 +128,7 @@
128128
- [ImplodeTransformer](reference/transformers/implode_transformer.md)
129129
- [PregMatchTransformer](reference/transformers/preg_match_transformer.md)
130130
- [SlugifyTransformer](reference/transformers/slugify_transformer.md)
131-
- [SprintfTransformer]
131+
- [SprintfTransformer](reference/transformers/sprintf_transformer.md)
132132
- [TrimTransformer](reference/transformers/trim_transformer.md)
133133
- XML
134134
- [XpathEvaluatorTransformer](reference/transformers/xpath_evaluator.md)
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
ArrayMapTransformer
2+
=========================
3+
4+
Applies transformers to each element of an array.
5+
6+
Task reference
7+
--------------
8+
9+
* **Service**: `CleverAge\ProcessBundle\Transformer\Array\ArrayMapTransformer`
10+
* **Transformer code**: `array_map`
11+
12+
Accepted inputs
13+
---------------
14+
15+
`array`
16+
17+
Possible outputs
18+
----------------
19+
20+
`string`
21+
22+
Options
23+
-------
24+
25+
| Code | Type | Required | Default | Description |
26+
|----------------|---------|:--------:|---------|------------------------------------------------------------------------------|
27+
| `transformers` | `array` | **X** | | List of transformers, see [TransformerTrait](../traits/transformer_trait.md) |
28+
| `skip_null` | `bool` | | `false` | If true continue without applying other transformers on null values |
29+
30+
31+
Examples
32+
--------
33+
34+
```yaml
35+
# Transformer mapping level
36+
array_map:
37+
code:
38+
- '[id]'
39+
- '[firstname]'
40+
- '[lastname]'
41+
transformers:
42+
array_map:
43+
transformers:
44+
cast:
45+
type: 'string'
46+
uppercase: ~
47+
```

docs/reference/transformers/implode_transformer.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,12 @@ Examples
3232
--------
3333

3434
```yaml
35-
# Transformer options level
36-
implode:
37-
separator: '-'
35+
# Transformer mapping level
36+
sprintf_multiple:
37+
code:
38+
- '[firstname]'
39+
- '[lastname]'
40+
transformers:
41+
implode:
42+
separator: '-'
3843
```
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
MultiReplaceTransformer
2+
=========================
3+
4+
Quickly replace a list of values in a string.
5+
6+
This transformer uses the php internal function: https://www.php.net/manual/en/function.str-replace.php
7+
8+
Task reference
9+
--------------
10+
11+
* **Service**: `CleverAge\ProcessBundle\Transformer\MultiReplaceTransformer`
12+
* **Transformer code**: `multi_replace`
13+
14+
Accepted inputs
15+
---------------
16+
17+
Any value that can be cast to string.
18+
19+
Possible outputs
20+
----------------
21+
22+
`string`
23+
24+
Options
25+
-------
26+
27+
| Code | Type | Required | Default | Description |
28+
|-------------------|---------|:--------:|---------|-----------------------------------|
29+
| `replace_mapping` | `array` | **X** | | $search as key, $replace as value |
30+
31+
Examples
32+
--------
33+
34+
```yaml
35+
# Transformer mapping level
36+
multi_replace:
37+
code:
38+
- '[firstname]'
39+
transformers:
40+
multi_replace:
41+
replace_mapping:
42+
' ': '!'
43+
'name': ''
44+
```

docs/reference/transformers/slugify_transformer.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ Examples
3434
--------
3535

3636
```yaml
37-
# Transformer options level
38-
slugify: ~
37+
# Transformer mapping level
38+
slug:
39+
code:
40+
- '[firstname]'
41+
transformers:
42+
slugify: ~
3943
```
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
SprintfTransformer
2+
=========================
3+
4+
Return a formatted string.
5+
6+
This transformer uses the php internal function: https://www.php.net/manual/en/function.vsprintf.php
7+
8+
Task reference
9+
--------------
10+
11+
* **Service**: `CleverAge\ProcessBundle\Transformer\String\SprintfTransformer`
12+
* **Transformer code**: `sprintf`
13+
14+
Accepted inputs
15+
---------------
16+
17+
Any value that can be cast to `string` | `int` | `float` or `array`
18+
19+
Possible outputs
20+
----------------
21+
22+
`string`
23+
24+
Options
25+
-------
26+
27+
| Code | Type | Required | Default | Description |
28+
|----------|----------|:--------:|---------|----------------------------------------------------------------------------------------------------------------------|
29+
| `format` | `string` | **X** | `%s` | The format string is composed of zero or more directives. Escape % with another %% due to ParameterBag restrictions. |
30+
31+
Examples
32+
--------
33+
34+
```yaml
35+
# Transformer mapping level
36+
sprintf_one:
37+
code: '[firstname]'
38+
transformers:
39+
sprintf:
40+
format: 'one/%%d'
41+
sprintf_multiple:
42+
code:
43+
- '[firstname]'
44+
- '[lastname]'
45+
transformers:
46+
sprintf:
47+
format: 'multiple/%%s/%%s'
48+
```

0 commit comments

Comments
 (0)