connect icon indicating copy to clipboard operation
connect copied to clipboard

Adding an `array` method to bloblang

Open gramian opened this issue 1 year ago • 1 comments

Dear All,

I would like to propose adding a method array to bloblang, which returns always an array. Specifically, every non-array input is returned as single element array, while an array input is returned as-is. This is similar to the bytes method and motivated originally by parsing XML files transformed to JSON: An XML element with a single child element (or attribute) is returned as sub-object, while multiple child elements/attributes are returned as array. To further process such a subtree, it needs to be ensured always an array is returned. Practically this results in unwieldy constructs like this.with("name").values().flatten(). The newly proposed array method would reduce this to the more readable this.name.array().

Here is the associated pull request: https://github.com/benthosdev/benthos/pull/2538

Thank you for considering this enhancement

Best

gramian avatar Apr 27 '24 12:04 gramian

@Jeffail WDYT? Does this addition fit? Is the PR in order?

gramian avatar May 10 '24 09:05 gramian

Fixed in Benthos v4.31.0.

mihaitodor avatar Jul 12 '24 13:07 mihaitodor