mask

DataWeave 2.2 is compatible and bundled with Mule 4.2. Standard Support for Mule 4.2 ended on May 2, 2021, and this version of Mule will reach its End of Life on May 2, 2023, when Extended Support ends.

Deployments of new applications to CloudHub that use this version of Mule are no longer allowed. Only in-place updates to applications are permitted.

MuleSoft recommends that you upgrade to the latest version of Mule 4 that is in Standard Support so that your applications run with the latest fixes and security enhancements.

mask(Null, String | Number | PathElement): Any

Helper function that makes mask work correctly with null.

mask(Any, PathElement): Any

This mask function replaces all simple elements that match the specified criteria.

Simple elements do not have child elements and cannot be objects or arrays.

Parameters

Name Description

value

A value to use for masking. The value can be any DataWeave type.

selector

The PathElement selector.

Example

This example shows how to mask the value of a password field in an array of objects. It uses field("password") to return the PathElement that it passes to mask. It uses with "" to specify the value () to use for masking.

Source

%dw 2.0
output application/json
import * from dw::util::Values
---
[{name: "Peter Parker", password: "spiderman"}, {name: "Bruce Wayne", password: "batman"}] mask field("password") with "*****"

Output

[
   {
     "name": "Peter Parker",
     "password": "*****"
   },
   {
     "name": "Bruce Wayne",
     "password": "*****"
   }
 ]

mask(Any, String): Any

This mask function selects a field by its name.

Parameters

Name Description

value

The value to use for masking. The value can be any DataWeave type.

fieldName

A string that specifies the name of the field to mask.

Example

This example shows how to perform masking using the name of a field in the input. It modifies the values of all fields with that value.

Source

%dw 2.0
output application/json
import * from dw::util::Values
---
[{name: "Peter Parker", password: "spiderman"}, {name: "Bruce Wayne", password: "batman"}] mask "password" with "*****"

Output

[
   {
     "name": "Peter Parker",
     "password": "*****"
   },
   {
     "name": "Bruce Wayne",
     "password": "*****"
   }
 ]

mask(Any, Number): Any

This mask function selects an element from array by its index.

Parameters

Name Description

value

The value to mask. The value can be any DataWeave type.

index

The index to mask. The index must be a number.

Example

This example shows how mask acts on all elements in the nested arrays. It changes the value of each element at index 1 to false.

Source

%dw 2.0
output application/json
import * from dw::util::Values
---
[[123, true], [456, true]] mask 1 with false

Output

[
   [
     123,
     false
   ],
   [
     456,
     false
   ]
 ]

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub