From b35469a185f2c2f50c985412e3310f02755dfde0 Mon Sep 17 00:00:00 2001 From: Bruce Guenter Date: Thu, 5 Dec 2024 12:12:04 -0600 Subject: [PATCH] docs(vrl): Add documentation for new `object_from_array` function --- .../remap/functions/object_from_array.cue | 54 +++++++++++++++++++ website/cue/reference/remap/functions/zip.cue | 2 +- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 website/cue/reference/remap/functions/object_from_array.cue diff --git a/website/cue/reference/remap/functions/object_from_array.cue b/website/cue/reference/remap/functions/object_from_array.cue new file mode 100644 index 0000000000000..8831a7c50cd92 --- /dev/null +++ b/website/cue/reference/remap/functions/object_from_array.cue @@ -0,0 +1,54 @@ +package metadata + +remap: functions: object_from_array: { + category: "Object" + description: """ + Iterate over either one or a pair of arrays and create an object out of all the key, value pairs contained in them. + Any entries that are missing the value will use `null` instead. + Any keys that are `null` will 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 contains 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 if either of the parameters is not an array, or 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} + }, + ] +} diff --git a/website/cue/reference/remap/functions/zip.cue b/website/cue/reference/remap/functions/zip.cue index 90f5e7927596f..0b8415e31c225 100644 --- a/website/cue/reference/remap/functions/zip.cue +++ b/website/cue/reference/remap/functions/zip.cue @@ -32,7 +32,7 @@ remap: functions: zip: { return: { types: ["array"] rules: [ - "`zip` is considered fallible if any of the parameters is not an array, or if only the first parameter is present and it is not an array of arrays.", + "`zip` is considered fallible if either of the parameters is not an array, or if only the first parameter is present and it is not an array of arrays.", ] }