-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs(vrl): Add documentation for new
object_from_array
function (#2…
…1969) * docs(vrl): Add documentation for new `object_from_array` function * Address wording feedback * Address wording feedback
- Loading branch information
Showing
1 changed file
with
54 additions
and
0 deletions.
There are no files selected for viewing
54 changes: 54 additions & 0 deletions
54
website/cue/reference/remap/functions/object_from_array.cue
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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} | ||
}, | ||
] | ||
} |