Skip to content

Commit

Permalink
docs(vrl): Add documentation for new object_from_array function (#2…
Browse files Browse the repository at this point in the history
…1969)

* docs(vrl): Add documentation for new `object_from_array` function

* Address wording feedback

* Address wording feedback
  • Loading branch information
bruceg authored Jan 10, 2025
1 parent 4605e5b commit 890a60a
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions website/cue/reference/remap/functions/object_from_array.cue
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package metadata

remap: functions: object_from_array: {
category: "Object"
description: """
Iterate over either one array of arrays or a pair of arrays and create an object out of all the key-value pairs contained in them.
With one array of arrays, any entries with no value use `null` instead.
Any keys that are `null` skip the corresponding value.
If a single parameter is given, it must contain an array of all the input arrays.
"""

arguments: [
{
name: "values"
description: "The first array of elements, or the array of input arrays if no other parameter is present."
required: true
type: ["array"]
},
{
name: "keys"
description: "The second array of elements. If not present, the first parameter must contain all the arrays."
required: false
type: ["array"]
},
]
internal_failure_reasons: [
"`values` and `keys` must be arrays.",
"If `keys` is not present, `values` must contain only arrays.",
]
return: {
types: ["object"]
rules: [
"`object_from_array` is considered fallible in the following cases: if any of the parameters is not an array; if only the `value` parameter is present and it is not an array of arrays; or if any of the keys are not either a string or `null`.",
]
}

examples: [
{
title: "Create an object from one array"
source: #"""
object_from_array([["one", 1], [null, 2], ["two", 3]])
"""#
return: {"one": 1, "two": 3}
},
{
title: "Create an object from separate key and value arrays"
source: #"""
object_from_array([1, 2, 3], keys: ["one", null, "two"])
"""#
return: {"one": 1, "two": 3}
},
]
}

0 comments on commit 890a60a

Please sign in to comment.