{
  "schemaVersion": 1,
  "source": {
    "url": "/__doc/zymbaref.json",
    "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
    "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
    "pointer": "/0"
  },
  "coverage": "Declared namespaces, methods and constants only; inherited members are not duplicated. Signatures are display aids, not executable call syntax or runtime validation. Missing metadata remains unknown.",
  "namespace": "Array",
  "symbols": [
    {
      "id": "zymba:/0",
      "name": "Array",
      "kind": "namespace",
      "namespace": "Array",
      "static": true,
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0"
      },
      "definition": {
        "name": "Array",
        "static": true,
        "description": "Static array related prototypes and functions.",
        "method": [
          {
            "name": "clear",
            "description": "Clears an array by removing all elements.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object"
              }
            ]
          },
          {
            "name": "combine",
            "param": [
              {
                "name": "keys",
                "type": "object",
                "value": "[key, ...]"
              },
              {
                "name": "values",
                "type": "object",
                "value": "[value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[keys-unique-string-value: last-applicable-value, ...]"
              }
            ]
          },
          {
            "name": "complementByKeys",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[retained-original-key: original-value, ...]"
              }
            ]
          },
          {
            "name": "complementByValues",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: retained-original-value, ...]"
              }
            ]
          },
          {
            "name": "concat",
            "description": "Concatenates specific values to an array.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the original keys in the array, but implicitly generates a consecutive numeric key for each added value."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: original-value, ..., concatenated-value, ...]"
              }
            ]
          },
          {
            "name": "contains",
            "description": "Determines whether an array contains specific elements.",
            "annotation": [
              "This function returns true for an empty elements list (vacuous truth)."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "count",
            "description": "Counts the total number of elements within an array.",
            "annotation": [
              "This function is equivalent to the \"count\" operator on objects."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "int"
              }
            ]
          },
          {
            "name": "countDistinctValues",
            "description": "Counts the total number of distinct values within an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "int"
              }
            ]
          },
          {
            "name": "countUsedValues",
            "description": "Counts the total number of occurrences for each value within an array.",
            "annotation": [
              "Values are interpreted as strings for the purpose of counting."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[unique-string-value: count, ...]"
              }
            ]
          },
          {
            "name": "countValue",
            "description": "Counts the total number of occurrences of a specific value within an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "value",
                "type": "mixed"
              }
            ],
            "return": [
              {
                "type": "int"
              }
            ]
          },
          {
            "name": "createAssociative",
            "description": "Creates an associative array with uniformly initialized values.",
            "param": [
              {
                "name": "keys",
                "type": "object"
              },
              {
                "name": "value",
                "type": "mixed"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[keys-unique-string-value: init-value, ...]"
              }
            ]
          },
          {
            "name": "createIndex",
            "description": "Creates an indexed array of a specific length with uniformly initialized values.",
            "annotation": [
              "This function implicitly generates a consecutive numeric key for each value."
            ],
            "param": [
              {
                "name": "length",
                "type": "int"
              },
              {
                "name": "value",
                "type": "mixed"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[init-value, ...]"
              }
            ]
          },
          {
            "name": "createRange",
            "description": "Creates an indexed array with values of a specific numeric range.",
            "annotation": [
              "This function implicitly generates a consecutive numeric key for each value."
            ],
            "param": [
              {
                "name": "from",
                "type": "number"
              },
              {
                "name": "to",
                "type": "number"
              },
              {
                "name": "step",
                "type": "number",
                "default": "1"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[range-value, ...]"
              }
            ]
          },
          {
            "name": "equals",
            "description": "Determines whether two arrays are equal, not considering the order of elements, meaning they have the same elements, but not necessarily in the same order.",
            "param": [
              {
                "name": "array1",
                "type": "object"
              },
              {
                "name": "array2",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "equalsInOrder",
            "description": "Determines whether two arrays are equal, also considering the order of elements, meaning they have the same elements in the same order.",
            "param": [
              {
                "name": "array1",
                "type": "object"
              },
              {
                "name": "array2",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "every",
            "annotation": [
              "This function returns true for an empty array (vacuous truth)."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "callback",
                "type": "function"
              },
              {
                "name": "bind",
                "type": "?object"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "filter",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "callback",
                "type": "function"
              },
              {
                "name": "bind",
                "type": "?object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[retained-key: retained-value, ...]"
              }
            ]
          },
          {
            "name": "findKey",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "callback",
                "type": "function"
              },
              {
                "name": "bind",
                "type": "?object"
              }
            ],
            "return": [
              {
                "type": "int",
                "description": "if integer key"
              },
              {
                "type": "string",
                "description": "if string key"
              },
              {
                "type": "null",
                "description": "if not found"
              }
            ]
          },
          {
            "name": "findValue",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "callback",
                "type": "function"
              },
              {
                "name": "bind",
                "type": "?object"
              }
            ],
            "return": [
              {
                "type": "mixed"
              },
              {
                "type": "null",
                "description": "if not found"
              }
            ]
          },
          {
            "name": "firstKey",
            "description": "Returns the key of the first element within an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "int",
                "description": "if integer key"
              },
              {
                "type": "string",
                "description": "if string key"
              },
              {
                "type": "null",
                "description": "if the array is empty"
              }
            ]
          },
          {
            "name": "firstValue",
            "description": "Returns the value of the first element within an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "mixed"
              },
              {
                "type": "null",
                "description": "if the array is empty"
              }
            ]
          },
          {
            "name": "flip",
            "description": "Flips the elements of an array by exchanging keys for values.",
            "annotation": [
              "A key may specify the column of a multidimensional array to flip by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is skipped.",
              "Values are interpreted as strings for the purpose of flipping. If a value has several occurrences within the array, only the key of the last occurrence of that particular value is retained.",
              "This function is destructive, in the sense that it modifies the array in-place."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "?string",
                "default": "unidimensional"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[unique-string-value: last-applicable-key, ...]"
              }
            ]
          },
          {
            "name": "forEach",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "callback",
                "type": "function"
              },
              {
                "name": "bind",
                "type": "?object"
              }
            ]
          },
          {
            "name": "fromCSV",
            "annotation": [
              "This function is complementary to \"toCSV\"."
            ],
            "param": [
              {
                "name": "string",
                "type": "string"
              },
              {
                "name": "delimiter",
                "type": "string",
                "default": "\";\""
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[[value, ...], ...]"
              }
            ]
          },
          {
            "name": "getUniformType",
            "description": "Gets the uniformly determined type of all values in an array.",
            "annotation": [
              "This function returns \"number\" for mixed int and float types, \"scalar\" for mixed scalar types, \"complex\" for mixed complex types, or \"mixed\" if types vary accross both scalar and complex types."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "string"
              },
              {
                "type": "null",
                "description": "if the array is empty"
              }
            ]
          },
          {
            "name": "hasAllKeys",
            "description": "Determines whether an array has all of the specific keys.",
            "annotation": [
              "This function returns true for an empty keys list (vacuous truth)."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "keys",
                "type": "object",
                "value": "[key, ...]"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "hasAllValues",
            "description": "Determines whether an array has all of the specific values.",
            "annotation": [
              "This function returns true for an empty values list (vacuous truth)."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "values",
                "type": "object",
                "value": "[value, ...]"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "hasAnyKeys",
            "description": "Determines whether an array has any (at least one) of the specific keys.",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "keys",
                "type": "object",
                "value": "[key, ...]"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "hasAnyValues",
            "description": "Determines whether an array has any (at least one) of the specific values.",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "values",
                "type": "object",
                "value": "[value, ...]"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "hasKey",
            "description": "Determines whether an array has a specific key.",
            "annotation": [
              "This function is equivalent to the \"in\" operator on objects."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "string",
                "default": "\"0\""
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "hasSameKeys",
            "description": "Determines whether two arrays have the same keys.",
            "param": [
              {
                "name": "array1",
                "type": "object"
              },
              {
                "name": "array2",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "hasSameKeysInOrder",
            "description": "Determines whether two arrays have the same keys, also considering the order of keys, meaning they have the same keys in the same order.",
            "param": [
              {
                "name": "array1",
                "type": "object"
              },
              {
                "name": "array2",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "hasSameValues",
            "description": "Determines whether two arrays have the same values.",
            "param": [
              {
                "name": "array1",
                "type": "object"
              },
              {
                "name": "array2",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "hasValue",
            "description": "Determines whether an array has a specific value.",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "value",
                "type": "mixed"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "head",
            "description": "Returns the head of an array, meaning only the first element.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[first-key: first-value]"
              }
            ]
          },
          {
            "name": "insert",
            "description": "Inserts specific values into an array at a specific offset.",
            "annotation": [
              "If the offset is negative, it inserts at that many elements from the end of the array.",
              "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all numeric keys in the array and implicitly generates a consecutive numeric key for each inserted value."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "values",
                "type": "object",
                "value": "[value, ...]"
              },
              {
                "name": "offset",
                "type": "int"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[(non-numeric-original-key: original-value) / original-value-if-numeric-key, ..., inserted-value, ..., (non-numeric-original-key: original-value) / original-value-if-numeric-key, ...]"
              }
            ]
          },
          {
            "name": "intersectByKeys",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[retained-original-key: original-value, ...]"
              }
            ]
          },
          {
            "name": "intersectByValues",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: retained-original-value, ...]"
              }
            ]
          },
          {
            "name": "isEmpty",
            "description": "Determines whether an array is empty, meaning it does not contain any elements.",
            "annotation": [
              "This function is equivalent to the \"empty\" operator on objects."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "isIndexed",
            "description": "Determines whether an array is indexed, meaning it only contains consecutive numeric keys from zero onwards.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "isMultidimensional",
            "description": "Determines whether an array is multidimensional, meaning it contains object values.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "joinKeys",
            "description": "Joins the keys of an array to form a string representation with each key separated by a specific delimiter.",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "delimiter",
                "type": "string"
              }
            ],
            "return": [
              {
                "type": "string"
              }
            ]
          },
          {
            "name": "joinNonEmptyValues",
            "description": "Joins the values of an array to form a string representation with each value separated by a specific delimiter, whereas empty string values are ignored.",
            "annotation": [
              "A key may specify the column of a multidimensional array to join by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is skipped.",
              "Values are interpreted as strings for the purpose of joining."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "delimiter",
                "type": "string"
              },
              {
                "name": "key",
                "type": "?string",
                "default": "unidimensional"
              }
            ],
            "return": [
              {
                "type": "string"
              }
            ]
          },
          {
            "name": "joinValues",
            "description": "Joins the values of an array to form a string representation with each value separated by a specific delimiter.",
            "annotation": [
              "A key may specify the column of a multidimensional array to join by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is skipped.",
              "Values are interpreted as strings for the purpose of joining."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "delimiter",
                "type": "string"
              },
              {
                "name": "key",
                "type": "?string",
                "default": "unidimensional"
              }
            ],
            "return": [
              {
                "type": "string"
              }
            ]
          },
          {
            "name": "keyAt",
            "description": "Returns the key at a specific offset within an array.",
            "annotation": [
              "If the offset is negative, it positions at that many elements from the end of the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "offset",
                "type": "int"
              }
            ],
            "return": [
              {
                "type": "int",
                "description": "if integer key"
              },
              {
                "type": "string",
                "description": "if string key"
              },
              {
                "type": "null",
                "description": "if the offset is out of range"
              }
            ]
          },
          {
            "name": "keyOf",
            "description": "Returns the key of the first occurrence of a specific value within an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "value",
                "type": "mixed"
              }
            ],
            "return": [
              {
                "type": "int",
                "description": "if integer key"
              },
              {
                "type": "string",
                "description": "if string key"
              },
              {
                "type": "null",
                "description": "if the value is not found"
              }
            ]
          },
          {
            "name": "lastKey",
            "description": "Returns the key of the last element within an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "int",
                "description": "if integer key"
              },
              {
                "type": "string",
                "description": "if string key"
              },
              {
                "type": "null",
                "description": "if the array is empty"
              }
            ]
          },
          {
            "name": "lastKeyOf",
            "description": "Returns the key of the last occurrence of a specific value within an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "value",
                "type": "mixed"
              }
            ],
            "return": [
              {
                "type": "int"
              },
              {
                "type": "null",
                "description": "if the value is not found"
              }
            ]
          },
          {
            "name": "lastValue",
            "description": "Returns the value of the last element within an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "mixed"
              },
              {
                "type": "null",
                "description": "if the array is empty"
              }
            ]
          },
          {
            "name": "linearize",
            "description": "Linearizes the elements of a multidimensional array by a specific key.",
            "annotation": [
              "If the key does not exist within the inner array, the corresponding element of the outer array is discarded.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "string",
                "default": "\"0\""
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[outer-key: inner-value-by-key, ...]"
              }
            ]
          },
          {
            "name": "listKeys",
            "description": "Lists all keys of an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key, ...]"
              }
            ]
          },
          {
            "name": "listValues",
            "description": "Lists all values of an array.",
            "annotation": [
              "A key may specify the column of a multidimensional array to list by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is skipped."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "?string",
                "default": "unidimensional"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-value, ...]"
              }
            ]
          },
          {
            "name": "map",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "callback",
                "type": "function"
              },
              {
                "name": "bind",
                "type": "?object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: mapped-value, ...]"
              }
            ]
          },
          {
            "name": "merge",
            "description": "Merges an array with specific elements, whereas duplicate non-numeric keys are overwritten while elements with numeric keys are appended.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the original keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: (elements-value / original-value), ..., (supplemental-non-numeric-elements-key: elements-value) / elements-value-if-numeric-key, ...]"
              }
            ]
          },
          {
            "name": "pad",
            "description": "Pads an array to a specific length by repeatedly filling it with a specific padding value.",
            "annotation": [
              "If the length is positive, the array is padded right-sidedly at its end, if it is negative, the array is padded left-sidedly at its beginning.",
              "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all numeric keys in the array and implicitly generates a consecutive numeric key for each added value."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "length",
                "type": "int"
              },
              {
                "name": "padding",
                "type": "mixed"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[(non-numeric-original-key: original-value) / original-value-if-numeric-key, ..., padding-value, ...]"
              }
            ]
          },
          {
            "name": "partition",
            "description": "Partitions an array into isolated chunks of a specific length.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "length",
                "type": "int",
                "default": "1"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[[original-key: original-value, ...], ...]"
              }
            ]
          },
          {
            "name": "pop",
            "description": "Pops an element off the end of an array and returns its value.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "mixed"
              },
              {
                "type": "null",
                "description": "if the array is empty"
              }
            ]
          },
          {
            "name": "push",
            "description": "Pushes a specific value onto the end of an array.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the original keys in the array, but implicitly generate a consecutive numeric key for the added value. It is equivalent to the \"[]\" operator."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "value",
                "type": "mixed"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: original-value, ..., added-value]"
              }
            ]
          },
          {
            "name": "randomKey",
            "description": "Returns the key of a random element within an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "int",
                "description": "if integer key"
              },
              {
                "type": "string",
                "description": "if string key"
              },
              {
                "type": "null",
                "description": "if the array is empty"
              }
            ]
          },
          {
            "name": "randomValue",
            "description": "Returns the value of a random element within an array.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "mixed"
              },
              {
                "type": "null",
                "description": "if the array is empty"
              }
            ]
          },
          {
            "name": "reduce",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "initial",
                "type": "mixed"
              },
              {
                "name": "callback",
                "type": "function"
              },
              {
                "name": "bind",
                "type": "?object"
              }
            ],
            "return": [
              {
                "type": "mixed"
              }
            ]
          },
          {
            "name": "reindex",
            "description": "Re-indexes all elements of an array with consecutive numeric keys.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "initial",
                "type": "int"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-value, ...]"
              }
            ]
          },
          {
            "name": "remove",
            "description": "Removes specific elements from an array.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[retained-key: retained-value, ...]"
              }
            ]
          },
          {
            "name": "removeKey",
            "description": "Remove the element with a specific key from an array.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "string",
                "default": "\"0\""
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[retained-key: original-value, ...]"
              }
            ]
          },
          {
            "name": "removeKeys",
            "description": "Removes elements with specific keys from an array.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "keys",
                "type": "object",
                "value": "[key, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[retained-key: original-value, ...]"
              }
            ]
          },
          {
            "name": "removeValue",
            "description": "Removes elements with a specific value from an array.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "value",
                "type": "mixed"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: retained-value, ...]"
              }
            ]
          },
          {
            "name": "removeValues",
            "description": "Removes elements with specific values from an array.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "values",
                "type": "object",
                "value": "[value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: retained-value, ...]"
              }
            ]
          },
          {
            "name": "repeat",
            "description": "Repeatedly concatenates specific values to themselves and returns the aligned end-to-end array.",
            "annotation": [
              "This function implicitly generates a consecutive numeric key for each value."
            ],
            "param": [
              {
                "name": "values",
                "type": "object",
                "value": "[value, ...]"
              },
              {
                "name": "count",
                "type": "int",
                "default": "1"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[first-value, ..., last-value, first-value, ..., last-value, ...]"
              }
            ]
          },
          {
            "name": "replace",
            "description": "Replaces specific elements of an array based on common keys.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: (elements-value / original-value), ..., supplemental-elements-key: elements-value, ...]"
              }
            ]
          },
          {
            "name": "reverse",
            "description": "Reverse the order of elements within an array.",
            "annotation": [
              "This function is its own inverse. It is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[last-key: last-value, ..., first-key: first-value]"
              }
            ]
          },
          {
            "name": "shift",
            "description": "Shifts an element off the beginning of an array and returns its value.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all numeric keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "mixed"
              },
              {
                "type": "null",
                "description": "if the array is empty"
              }
            ]
          },
          {
            "name": "shuffle",
            "description": "Suffles an array by randomizing the order of elements.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[reordered-key: original-value, ...]"
              }
            ]
          },
          {
            "name": "slice",
            "description": "Slices an array by creating a shallow copy of a specific portion.",
            "annotation": [
              "If the offset is negative, it starts that many elements from the end of the array. If the length is null, every element from the offset until the end of the array is returned, if it is negative, it stops that many elements from the end of the array.",
              "This function preserves the keys in the array. It is equivalent to the \"[..., ...]\" operator on objects."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "offset",
                "type": "int"
              },
              {
                "name": "length",
                "type": "?int",
                "default": "maximum length"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[retained-key: retained-value, ...]"
              }
            ]
          },
          {
            "name": "some",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "callback",
                "type": "function"
              },
              {
                "name": "bind",
                "type": "?object"
              }
            ],
            "return": [
              {
                "type": "bool"
              }
            ]
          },
          {
            "name": "sortAscByKeys",
            "description": "Sorts an array by keys in ascending lexicographic or numeric order.",
            "annotation": [
              "The sorting is guaranteed to be stable.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[reordered-key: original-value, ...]"
              }
            ]
          },
          {
            "name": "sortAscByValues",
            "description": "Sorts an array by values in ascending lexicographic or numeric order.",
            "annotation": [
              "A key may specify the column of a multidimensional array to sort by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is interpreted as null for the purpose of sorting.",
              "The sorting is guaranteed to be stable.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "?string",
                "default": "unidimensional"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: reordered-value, ...]"
              }
            ]
          },
          {
            "name": "sortByKeys",
            "description": "Sorts an array by keys in a particular order determined by a specific comparison callback function.",
            "annotation": [
              "The sorting is guaranteed to be stable.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "callback",
                "type": "function"
              },
              {
                "name": "bind",
                "type": "?object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[reordered-key: original-value, ...]"
              }
            ]
          },
          {
            "name": "sortByValues",
            "description": "Sorts an array by values in a particular order determined by a specific comparison callback function.",
            "annotation": [
              "A key may specify the column of a multidimensional array to sort by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is interpreted as null for the purpose of sorting.",
              "The sorting is guaranteed to be stable.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "callback",
                "type": "function"
              },
              {
                "name": "bind",
                "type": "?object"
              },
              {
                "name": "key",
                "type": "?string",
                "default": "unidimensional"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: reordered-value, ...]"
              }
            ]
          },
          {
            "name": "sortDescByKeys",
            "description": "Sorts an array by keys in descending lexicographic or numeric order.",
            "annotation": [
              "The sorting is guaranteed to be stable.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[reordered-key: original-value, ...]"
              }
            ]
          },
          {
            "name": "sortDescByValues",
            "description": "Sorts an array by values in descending lexicographic or numeric order.",
            "annotation": [
              "A key may specify the column of a multidimensional array to sort by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is interpreted as null for the purpose of sorting.",
              "The sorting is guaranteed to be stable.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "?string",
                "default": "unidimensional"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: reordered-value, ...]"
              }
            ]
          },
          {
            "name": "sortMultidimensional",
            "annotation": [
              "The sorting is guaranteed to be stable.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "callbacks",
                "type": "object",
                "value": "[key: callback, ...]"
              },
              {
                "name": "bind",
                "type": "?object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: reordered-value, ...]"
              }
            ]
          },
          {
            "name": "sortNaturalAscByKeys",
            "description": "Sorts an array by keys in ascending natural and case-insensitive order (US-ASCII only).",
            "annotation": [
              "The sorting is guaranteed to be stable.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[reordered-key: original-value, ...]"
              }
            ]
          },
          {
            "name": "sortNaturalAscByValues",
            "description": "Sorts an array by values in ascending natural and case-insensitive order (US-ASCII only).",
            "annotation": [
              "A key may specify the column of a multidimensional array to sort by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is interpreted as null for the purpose of sorting.",
              "The sorting is guaranteed to be stable. Complex values are interpreted as strings for the purpose of sorting.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "?string",
                "default": "unidimensional"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: reordered-value, ...]"
              }
            ]
          },
          {
            "name": "sortNaturalDescByKeys",
            "description": "Sorts an array by keys in descending natural and case-insensitive order (US-ASCII only).",
            "annotation": [
              "The sorting is guaranteed to be stable.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[reordered-key: original-value, ...]"
              }
            ]
          },
          {
            "name": "sortNaturalDescByValues",
            "description": "Sorts an array by values in descending natural and case-insensitive order (US-ASCII only).",
            "annotation": [
              "A key may specify the column of a multidimensional array to sort by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is interpreted as null for the purpose of sorting.",
              "The sorting is guaranteed to be stable. Complex values are interpreted as strings for the purpose of sorting.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "?string",
                "default": "unidimensional"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: reordered-value, ...]"
              }
            ]
          },
          {
            "name": "splice",
            "description": "Extracts a specific portion of an array and replaces it with specific replacement values.",
            "annotation": [
              "If the offset is negative, it starts that many elements from the end of the array. If the length is null, every element from the offset until the end of the array is extracted, if it is negative, it stops that many elements from the end of the array.",
              "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all numeric keys in the original array and implicitly generates a consecutive numeric key for each replaced value, but preserves the keys in the extracted array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "offset",
                "type": "int"
              },
              {
                "name": "length",
                "type": "?int",
                "default": "maximum length"
              },
              {
                "name": "replacement",
                "type": "object",
                "value": "[value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[extracted-key: extracted-value, ...]"
              }
            ]
          },
          {
            "name": "tail",
            "description": "Creates a shallow copy of the tail of an array, meaning all elements except the first.",
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[tail-key: tail-value, ...]"
              }
            ]
          },
          {
            "name": "toCSV",
            "annotation": [
              "This function is complementary to \"fromCSV\"."
            ],
            "param": [
              {
                "name": "array",
                "type": "object",
                "value": "[[value, ...], ...]"
              },
              {
                "name": "delimiter",
                "type": "string",
                "default": "\";\""
              },
              {
                "name": "enclosed",
                "type": "bool",
                "default": "false"
              }
            ],
            "return": [
              {
                "type": "string"
              }
            ]
          },
          {
            "name": "toLowerKeys",
            "description": "Converts the keys of an array to lower case (UTF-8).",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[unique-lower-string-key: last-applicable-value, ...]"
              }
            ]
          },
          {
            "name": "toLowerKeys",
            "description": "Converts the keys of an array to lower case (US-ASCII only).",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[unique-lower-string-key: last-applicable-value, ...]"
              }
            ]
          },
          {
            "name": "toUpperKeys",
            "description": "Converts the keys of an array to upper case (UTF-8).",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[unique-upper-string-key: last-applicable-value, ...]"
              }
            ]
          },
          {
            "name": "toUpperKeys",
            "description": "Converts the keys of an array to upper case (US-ASCII only).",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[unique-upper-string-key: last-applicable-value, ...]"
              }
            ]
          },
          {
            "name": "unionByKeys",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: original-value, ..., supplemental-elements-key: elements-value]"
              }
            ]
          },
          {
            "name": "unionByValues",
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "arrays",
                "type": "variadic",
                "value": "[key: value, ...]"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[original-key: (supplemental-elements-value / original-value), ..., (non-numeric-elements-key: supplemental-elements-value) / supplemental-elements-value-if-numeric-key, ...]"
              }
            ]
          },
          {
            "name": "unique",
            "description": "Uniquifies an array by discarding duplicate values, retaining only the first occurrence of each value.",
            "annotation": [
              "A key may specify the column of a multidimensional array to distinguish by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is discarded.",
              "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "?string",
                "default": "unidimensional"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[first-applicable-key: unique-value, ...]"
              }
            ]
          },
          {
            "name": "unshift",
            "description": "Prepends a specific value to the beginning of an array.",
            "annotation": [
              "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all numeric keys in the array."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "value",
                "type": "mixed"
              }
            ],
            "return": [
              {
                "type": "object",
                "value": "[added-value, (non-numeric-original-key: original-value) / original-value-if-numeric-key, ...]"
              }
            ]
          },
          {
            "name": "valueAt",
            "description": "Returns the value at a specific key within an array.",
            "annotation": [
              "This function is equivalent to the \"[...]\" operator on objects."
            ],
            "param": [
              {
                "name": "array",
                "type": "object"
              },
              {
                "name": "key",
                "type": "string",
                "default": "\"0\""
              }
            ],
            "return": [
              {
                "type": "mixed"
              },
              {
                "type": "null",
                "description": "if the key is not found"
              }
            ]
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/0",
      "name": "Array.clear",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "clear(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/0"
      },
      "definition": {
        "name": "clear",
        "description": "Clears an array by removing all elements.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/1",
      "name": "Array.combine",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "combine(object $keys, object $values): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/1"
      },
      "definition": {
        "name": "combine",
        "param": [
          {
            "name": "keys",
            "type": "object",
            "value": "[key, ...]"
          },
          {
            "name": "values",
            "type": "object",
            "value": "[value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[keys-unique-string-value: last-applicable-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/2",
      "name": "Array.complementByKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "complementByKeys(object $array, variadic $arrays): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/2"
      },
      "definition": {
        "name": "complementByKeys",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[retained-original-key: original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/3",
      "name": "Array.complementByValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "complementByValues(object $array, variadic $arrays): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/3"
      },
      "definition": {
        "name": "complementByValues",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: retained-original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/4",
      "name": "Array.concat",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "concat(object $array, variadic $arrays): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/4"
      },
      "definition": {
        "name": "concat",
        "description": "Concatenates specific values to an array.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the original keys in the array, but implicitly generates a consecutive numeric key for each added value."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: original-value, ..., concatenated-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/5",
      "name": "Array.contains",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "contains(object $array, variadic $arrays): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/5"
      },
      "definition": {
        "name": "contains",
        "description": "Determines whether an array contains specific elements.",
        "annotation": [
          "This function returns true for an empty elements list (vacuous truth)."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/6",
      "name": "Array.count",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "count(object $array): int",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/6"
      },
      "definition": {
        "name": "count",
        "description": "Counts the total number of elements within an array.",
        "annotation": [
          "This function is equivalent to the \"count\" operator on objects."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "int"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/7",
      "name": "Array.countDistinctValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "countDistinctValues(object $array): int",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/7"
      },
      "definition": {
        "name": "countDistinctValues",
        "description": "Counts the total number of distinct values within an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "int"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/8",
      "name": "Array.countUsedValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "countUsedValues(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/8"
      },
      "definition": {
        "name": "countUsedValues",
        "description": "Counts the total number of occurrences for each value within an array.",
        "annotation": [
          "Values are interpreted as strings for the purpose of counting."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[unique-string-value: count, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/9",
      "name": "Array.countValue",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "countValue(object $array, mixed $value): int",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/9"
      },
      "definition": {
        "name": "countValue",
        "description": "Counts the total number of occurrences of a specific value within an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "value",
            "type": "mixed"
          }
        ],
        "return": [
          {
            "type": "int"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/10",
      "name": "Array.createAssociative",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "createAssociative(object $keys, mixed $value): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/10"
      },
      "definition": {
        "name": "createAssociative",
        "description": "Creates an associative array with uniformly initialized values.",
        "param": [
          {
            "name": "keys",
            "type": "object"
          },
          {
            "name": "value",
            "type": "mixed"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[keys-unique-string-value: init-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/11",
      "name": "Array.createIndex",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "createIndex(int $length, mixed $value): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/11"
      },
      "definition": {
        "name": "createIndex",
        "description": "Creates an indexed array of a specific length with uniformly initialized values.",
        "annotation": [
          "This function implicitly generates a consecutive numeric key for each value."
        ],
        "param": [
          {
            "name": "length",
            "type": "int"
          },
          {
            "name": "value",
            "type": "mixed"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[init-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/12",
      "name": "Array.createRange",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "createRange(number $from, number $to, number $step): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/12"
      },
      "definition": {
        "name": "createRange",
        "description": "Creates an indexed array with values of a specific numeric range.",
        "annotation": [
          "This function implicitly generates a consecutive numeric key for each value."
        ],
        "param": [
          {
            "name": "from",
            "type": "number"
          },
          {
            "name": "to",
            "type": "number"
          },
          {
            "name": "step",
            "type": "number",
            "default": "1"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[range-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/13",
      "name": "Array.equals",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "equals(object $array1, object $array2): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/13"
      },
      "definition": {
        "name": "equals",
        "description": "Determines whether two arrays are equal, not considering the order of elements, meaning they have the same elements, but not necessarily in the same order.",
        "param": [
          {
            "name": "array1",
            "type": "object"
          },
          {
            "name": "array2",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/14",
      "name": "Array.equalsInOrder",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "equalsInOrder(object $array1, object $array2): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/14"
      },
      "definition": {
        "name": "equalsInOrder",
        "description": "Determines whether two arrays are equal, also considering the order of elements, meaning they have the same elements in the same order.",
        "param": [
          {
            "name": "array1",
            "type": "object"
          },
          {
            "name": "array2",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/15",
      "name": "Array.every",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "every(object $array, function $callback, ?object $bind): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/15"
      },
      "definition": {
        "name": "every",
        "annotation": [
          "This function returns true for an empty array (vacuous truth)."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "callback",
            "type": "function"
          },
          {
            "name": "bind",
            "type": "?object"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/16",
      "name": "Array.filter",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "filter(object $array, function $callback, ?object $bind): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/16"
      },
      "definition": {
        "name": "filter",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "callback",
            "type": "function"
          },
          {
            "name": "bind",
            "type": "?object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[retained-key: retained-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/17",
      "name": "Array.findKey",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "findKey(object $array, function $callback, ?object $bind): int | string | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/17"
      },
      "definition": {
        "name": "findKey",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "callback",
            "type": "function"
          },
          {
            "name": "bind",
            "type": "?object"
          }
        ],
        "return": [
          {
            "type": "int",
            "description": "if integer key"
          },
          {
            "type": "string",
            "description": "if string key"
          },
          {
            "type": "null",
            "description": "if not found"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/18",
      "name": "Array.findValue",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "findValue(object $array, function $callback, ?object $bind): mixed | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/18"
      },
      "definition": {
        "name": "findValue",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "callback",
            "type": "function"
          },
          {
            "name": "bind",
            "type": "?object"
          }
        ],
        "return": [
          {
            "type": "mixed"
          },
          {
            "type": "null",
            "description": "if not found"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/19",
      "name": "Array.firstKey",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "firstKey(object $array): int | string | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/19"
      },
      "definition": {
        "name": "firstKey",
        "description": "Returns the key of the first element within an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "int",
            "description": "if integer key"
          },
          {
            "type": "string",
            "description": "if string key"
          },
          {
            "type": "null",
            "description": "if the array is empty"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/20",
      "name": "Array.firstValue",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "firstValue(object $array): mixed | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/20"
      },
      "definition": {
        "name": "firstValue",
        "description": "Returns the value of the first element within an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "mixed"
          },
          {
            "type": "null",
            "description": "if the array is empty"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/21",
      "name": "Array.flip",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "flip(object $array, ?string $key): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/21"
      },
      "definition": {
        "name": "flip",
        "description": "Flips the elements of an array by exchanging keys for values.",
        "annotation": [
          "A key may specify the column of a multidimensional array to flip by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is skipped.",
          "Values are interpreted as strings for the purpose of flipping. If a value has several occurrences within the array, only the key of the last occurrence of that particular value is retained.",
          "This function is destructive, in the sense that it modifies the array in-place."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "?string",
            "default": "unidimensional"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[unique-string-value: last-applicable-key, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/22",
      "name": "Array.forEach",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "forEach(object $array, function $callback, ?object $bind)",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/22"
      },
      "definition": {
        "name": "forEach",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "callback",
            "type": "function"
          },
          {
            "name": "bind",
            "type": "?object"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/23",
      "name": "Array.fromCSV",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "fromCSV(string $string, string $delimiter): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/23"
      },
      "definition": {
        "name": "fromCSV",
        "annotation": [
          "This function is complementary to \"toCSV\"."
        ],
        "param": [
          {
            "name": "string",
            "type": "string"
          },
          {
            "name": "delimiter",
            "type": "string",
            "default": "\";\""
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[[value, ...], ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/24",
      "name": "Array.getUniformType",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "getUniformType(object $array): string | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/24"
      },
      "definition": {
        "name": "getUniformType",
        "description": "Gets the uniformly determined type of all values in an array.",
        "annotation": [
          "This function returns \"number\" for mixed int and float types, \"scalar\" for mixed scalar types, \"complex\" for mixed complex types, or \"mixed\" if types vary accross both scalar and complex types."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "string"
          },
          {
            "type": "null",
            "description": "if the array is empty"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/25",
      "name": "Array.hasAllKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "hasAllKeys(object $array, object $keys): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/25"
      },
      "definition": {
        "name": "hasAllKeys",
        "description": "Determines whether an array has all of the specific keys.",
        "annotation": [
          "This function returns true for an empty keys list (vacuous truth)."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "keys",
            "type": "object",
            "value": "[key, ...]"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/26",
      "name": "Array.hasAllValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "hasAllValues(object $array, object $values): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/26"
      },
      "definition": {
        "name": "hasAllValues",
        "description": "Determines whether an array has all of the specific values.",
        "annotation": [
          "This function returns true for an empty values list (vacuous truth)."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "values",
            "type": "object",
            "value": "[value, ...]"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/27",
      "name": "Array.hasAnyKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "hasAnyKeys(object $array, object $keys): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/27"
      },
      "definition": {
        "name": "hasAnyKeys",
        "description": "Determines whether an array has any (at least one) of the specific keys.",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "keys",
            "type": "object",
            "value": "[key, ...]"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/28",
      "name": "Array.hasAnyValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "hasAnyValues(object $array, object $values): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/28"
      },
      "definition": {
        "name": "hasAnyValues",
        "description": "Determines whether an array has any (at least one) of the specific values.",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "values",
            "type": "object",
            "value": "[value, ...]"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/29",
      "name": "Array.hasKey",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "hasKey(object $array, string $key): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/29"
      },
      "definition": {
        "name": "hasKey",
        "description": "Determines whether an array has a specific key.",
        "annotation": [
          "This function is equivalent to the \"in\" operator on objects."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "string",
            "default": "\"0\""
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/30",
      "name": "Array.hasSameKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "hasSameKeys(object $array1, object $array2): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/30"
      },
      "definition": {
        "name": "hasSameKeys",
        "description": "Determines whether two arrays have the same keys.",
        "param": [
          {
            "name": "array1",
            "type": "object"
          },
          {
            "name": "array2",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/31",
      "name": "Array.hasSameKeysInOrder",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "hasSameKeysInOrder(object $array1, object $array2): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/31"
      },
      "definition": {
        "name": "hasSameKeysInOrder",
        "description": "Determines whether two arrays have the same keys, also considering the order of keys, meaning they have the same keys in the same order.",
        "param": [
          {
            "name": "array1",
            "type": "object"
          },
          {
            "name": "array2",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/32",
      "name": "Array.hasSameValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "hasSameValues(object $array1, object $array2): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/32"
      },
      "definition": {
        "name": "hasSameValues",
        "description": "Determines whether two arrays have the same values.",
        "param": [
          {
            "name": "array1",
            "type": "object"
          },
          {
            "name": "array2",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/33",
      "name": "Array.hasValue",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "hasValue(object $array, mixed $value): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/33"
      },
      "definition": {
        "name": "hasValue",
        "description": "Determines whether an array has a specific value.",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "value",
            "type": "mixed"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/34",
      "name": "Array.head",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "head(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/34"
      },
      "definition": {
        "name": "head",
        "description": "Returns the head of an array, meaning only the first element.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[first-key: first-value]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/35",
      "name": "Array.insert",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "insert(object $array, object $values, int $offset): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/35"
      },
      "definition": {
        "name": "insert",
        "description": "Inserts specific values into an array at a specific offset.",
        "annotation": [
          "If the offset is negative, it inserts at that many elements from the end of the array.",
          "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all numeric keys in the array and implicitly generates a consecutive numeric key for each inserted value."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "values",
            "type": "object",
            "value": "[value, ...]"
          },
          {
            "name": "offset",
            "type": "int"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[(non-numeric-original-key: original-value) / original-value-if-numeric-key, ..., inserted-value, ..., (non-numeric-original-key: original-value) / original-value-if-numeric-key, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/36",
      "name": "Array.intersectByKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "intersectByKeys(object $array, variadic $arrays): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/36"
      },
      "definition": {
        "name": "intersectByKeys",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[retained-original-key: original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/37",
      "name": "Array.intersectByValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "intersectByValues(object $array, variadic $arrays): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/37"
      },
      "definition": {
        "name": "intersectByValues",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: retained-original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/38",
      "name": "Array.isEmpty",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "isEmpty(object $array): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/38"
      },
      "definition": {
        "name": "isEmpty",
        "description": "Determines whether an array is empty, meaning it does not contain any elements.",
        "annotation": [
          "This function is equivalent to the \"empty\" operator on objects."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/39",
      "name": "Array.isIndexed",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "isIndexed(object $array): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/39"
      },
      "definition": {
        "name": "isIndexed",
        "description": "Determines whether an array is indexed, meaning it only contains consecutive numeric keys from zero onwards.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/40",
      "name": "Array.isMultidimensional",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "isMultidimensional(object $array): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/40"
      },
      "definition": {
        "name": "isMultidimensional",
        "description": "Determines whether an array is multidimensional, meaning it contains object values.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/41",
      "name": "Array.joinKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "joinKeys(object $array, string $delimiter): string",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/41"
      },
      "definition": {
        "name": "joinKeys",
        "description": "Joins the keys of an array to form a string representation with each key separated by a specific delimiter.",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "delimiter",
            "type": "string"
          }
        ],
        "return": [
          {
            "type": "string"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/42",
      "name": "Array.joinNonEmptyValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "joinNonEmptyValues(object $array, string $delimiter, ?string $key): string",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/42"
      },
      "definition": {
        "name": "joinNonEmptyValues",
        "description": "Joins the values of an array to form a string representation with each value separated by a specific delimiter, whereas empty string values are ignored.",
        "annotation": [
          "A key may specify the column of a multidimensional array to join by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is skipped.",
          "Values are interpreted as strings for the purpose of joining."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "delimiter",
            "type": "string"
          },
          {
            "name": "key",
            "type": "?string",
            "default": "unidimensional"
          }
        ],
        "return": [
          {
            "type": "string"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/43",
      "name": "Array.joinValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "joinValues(object $array, string $delimiter, ?string $key): string",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/43"
      },
      "definition": {
        "name": "joinValues",
        "description": "Joins the values of an array to form a string representation with each value separated by a specific delimiter.",
        "annotation": [
          "A key may specify the column of a multidimensional array to join by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is skipped.",
          "Values are interpreted as strings for the purpose of joining."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "delimiter",
            "type": "string"
          },
          {
            "name": "key",
            "type": "?string",
            "default": "unidimensional"
          }
        ],
        "return": [
          {
            "type": "string"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/44",
      "name": "Array.keyAt",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "keyAt(object $array, int $offset): int | string | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/44"
      },
      "definition": {
        "name": "keyAt",
        "description": "Returns the key at a specific offset within an array.",
        "annotation": [
          "If the offset is negative, it positions at that many elements from the end of the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "offset",
            "type": "int"
          }
        ],
        "return": [
          {
            "type": "int",
            "description": "if integer key"
          },
          {
            "type": "string",
            "description": "if string key"
          },
          {
            "type": "null",
            "description": "if the offset is out of range"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/45",
      "name": "Array.keyOf",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "keyOf(object $array, mixed $value): int | string | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/45"
      },
      "definition": {
        "name": "keyOf",
        "description": "Returns the key of the first occurrence of a specific value within an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "value",
            "type": "mixed"
          }
        ],
        "return": [
          {
            "type": "int",
            "description": "if integer key"
          },
          {
            "type": "string",
            "description": "if string key"
          },
          {
            "type": "null",
            "description": "if the value is not found"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/46",
      "name": "Array.lastKey",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "lastKey(object $array): int | string | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/46"
      },
      "definition": {
        "name": "lastKey",
        "description": "Returns the key of the last element within an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "int",
            "description": "if integer key"
          },
          {
            "type": "string",
            "description": "if string key"
          },
          {
            "type": "null",
            "description": "if the array is empty"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/47",
      "name": "Array.lastKeyOf",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "lastKeyOf(object $array, mixed $value): int | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/47"
      },
      "definition": {
        "name": "lastKeyOf",
        "description": "Returns the key of the last occurrence of a specific value within an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "value",
            "type": "mixed"
          }
        ],
        "return": [
          {
            "type": "int"
          },
          {
            "type": "null",
            "description": "if the value is not found"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/48",
      "name": "Array.lastValue",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "lastValue(object $array): mixed | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/48"
      },
      "definition": {
        "name": "lastValue",
        "description": "Returns the value of the last element within an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "mixed"
          },
          {
            "type": "null",
            "description": "if the array is empty"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/49",
      "name": "Array.linearize",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "linearize(object $array, string $key): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/49"
      },
      "definition": {
        "name": "linearize",
        "description": "Linearizes the elements of a multidimensional array by a specific key.",
        "annotation": [
          "If the key does not exist within the inner array, the corresponding element of the outer array is discarded.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "string",
            "default": "\"0\""
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[outer-key: inner-value-by-key, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/50",
      "name": "Array.listKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "listKeys(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/50"
      },
      "definition": {
        "name": "listKeys",
        "description": "Lists all keys of an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/51",
      "name": "Array.listValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "listValues(object $array, ?string $key): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/51"
      },
      "definition": {
        "name": "listValues",
        "description": "Lists all values of an array.",
        "annotation": [
          "A key may specify the column of a multidimensional array to list by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is skipped."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "?string",
            "default": "unidimensional"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/52",
      "name": "Array.map",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "map(object $array, function $callback, ?object $bind): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/52"
      },
      "definition": {
        "name": "map",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "callback",
            "type": "function"
          },
          {
            "name": "bind",
            "type": "?object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: mapped-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/53",
      "name": "Array.merge",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "merge(object $array, variadic $arrays): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/53"
      },
      "definition": {
        "name": "merge",
        "description": "Merges an array with specific elements, whereas duplicate non-numeric keys are overwritten while elements with numeric keys are appended.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the original keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: (elements-value / original-value), ..., (supplemental-non-numeric-elements-key: elements-value) / elements-value-if-numeric-key, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/54",
      "name": "Array.pad",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "pad(object $array, int $length, mixed $padding): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/54"
      },
      "definition": {
        "name": "pad",
        "description": "Pads an array to a specific length by repeatedly filling it with a specific padding value.",
        "annotation": [
          "If the length is positive, the array is padded right-sidedly at its end, if it is negative, the array is padded left-sidedly at its beginning.",
          "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all numeric keys in the array and implicitly generates a consecutive numeric key for each added value."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "length",
            "type": "int"
          },
          {
            "name": "padding",
            "type": "mixed"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[(non-numeric-original-key: original-value) / original-value-if-numeric-key, ..., padding-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/55",
      "name": "Array.partition",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "partition(object $array, int $length): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/55"
      },
      "definition": {
        "name": "partition",
        "description": "Partitions an array into isolated chunks of a specific length.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "length",
            "type": "int",
            "default": "1"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[[original-key: original-value, ...], ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/56",
      "name": "Array.pop",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "pop(object $array): mixed | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/56"
      },
      "definition": {
        "name": "pop",
        "description": "Pops an element off the end of an array and returns its value.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "mixed"
          },
          {
            "type": "null",
            "description": "if the array is empty"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/57",
      "name": "Array.push",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "push(object $array, mixed $value): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/57"
      },
      "definition": {
        "name": "push",
        "description": "Pushes a specific value onto the end of an array.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the original keys in the array, but implicitly generate a consecutive numeric key for the added value. It is equivalent to the \"[]\" operator."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "value",
            "type": "mixed"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: original-value, ..., added-value]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/58",
      "name": "Array.randomKey",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "randomKey(object $array): int | string | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/58"
      },
      "definition": {
        "name": "randomKey",
        "description": "Returns the key of a random element within an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "int",
            "description": "if integer key"
          },
          {
            "type": "string",
            "description": "if string key"
          },
          {
            "type": "null",
            "description": "if the array is empty"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/59",
      "name": "Array.randomValue",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "randomValue(object $array): mixed | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/59"
      },
      "definition": {
        "name": "randomValue",
        "description": "Returns the value of a random element within an array.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "mixed"
          },
          {
            "type": "null",
            "description": "if the array is empty"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/60",
      "name": "Array.reduce",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "reduce(object $array, mixed $initial, function $callback, ?object $bind): mixed",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/60"
      },
      "definition": {
        "name": "reduce",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "initial",
            "type": "mixed"
          },
          {
            "name": "callback",
            "type": "function"
          },
          {
            "name": "bind",
            "type": "?object"
          }
        ],
        "return": [
          {
            "type": "mixed"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/61",
      "name": "Array.reindex",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "reindex(object $array, int $initial): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/61"
      },
      "definition": {
        "name": "reindex",
        "description": "Re-indexes all elements of an array with consecutive numeric keys.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "initial",
            "type": "int"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/62",
      "name": "Array.remove",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "remove(object $array, variadic $arrays): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/62"
      },
      "definition": {
        "name": "remove",
        "description": "Removes specific elements from an array.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[retained-key: retained-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/63",
      "name": "Array.removeKey",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "removeKey(object $array, string $key): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/63"
      },
      "definition": {
        "name": "removeKey",
        "description": "Remove the element with a specific key from an array.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "string",
            "default": "\"0\""
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[retained-key: original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/64",
      "name": "Array.removeKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "removeKeys(object $array, object $keys): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/64"
      },
      "definition": {
        "name": "removeKeys",
        "description": "Removes elements with specific keys from an array.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "keys",
            "type": "object",
            "value": "[key, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[retained-key: original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/65",
      "name": "Array.removeValue",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "removeValue(object $array, mixed $value): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/65"
      },
      "definition": {
        "name": "removeValue",
        "description": "Removes elements with a specific value from an array.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "value",
            "type": "mixed"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: retained-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/66",
      "name": "Array.removeValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "removeValues(object $array, object $values): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/66"
      },
      "definition": {
        "name": "removeValues",
        "description": "Removes elements with specific values from an array.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "values",
            "type": "object",
            "value": "[value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: retained-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/67",
      "name": "Array.repeat",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "repeat(object $values, int $count): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/67"
      },
      "definition": {
        "name": "repeat",
        "description": "Repeatedly concatenates specific values to themselves and returns the aligned end-to-end array.",
        "annotation": [
          "This function implicitly generates a consecutive numeric key for each value."
        ],
        "param": [
          {
            "name": "values",
            "type": "object",
            "value": "[value, ...]"
          },
          {
            "name": "count",
            "type": "int",
            "default": "1"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[first-value, ..., last-value, first-value, ..., last-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/68",
      "name": "Array.replace",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "replace(object $array, variadic $arrays): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/68"
      },
      "definition": {
        "name": "replace",
        "description": "Replaces specific elements of an array based on common keys.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: (elements-value / original-value), ..., supplemental-elements-key: elements-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/69",
      "name": "Array.reverse",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "reverse(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/69"
      },
      "definition": {
        "name": "reverse",
        "description": "Reverse the order of elements within an array.",
        "annotation": [
          "This function is its own inverse. It is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[last-key: last-value, ..., first-key: first-value]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/70",
      "name": "Array.shift",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "shift(object $array): mixed | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/70"
      },
      "definition": {
        "name": "shift",
        "description": "Shifts an element off the beginning of an array and returns its value.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all numeric keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "mixed"
          },
          {
            "type": "null",
            "description": "if the array is empty"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/71",
      "name": "Array.shuffle",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "shuffle(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/71"
      },
      "definition": {
        "name": "shuffle",
        "description": "Suffles an array by randomizing the order of elements.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[reordered-key: original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/72",
      "name": "Array.slice",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "slice(object $array, int $offset, ?int $length): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/72"
      },
      "definition": {
        "name": "slice",
        "description": "Slices an array by creating a shallow copy of a specific portion.",
        "annotation": [
          "If the offset is negative, it starts that many elements from the end of the array. If the length is null, every element from the offset until the end of the array is returned, if it is negative, it stops that many elements from the end of the array.",
          "This function preserves the keys in the array. It is equivalent to the \"[..., ...]\" operator on objects."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "offset",
            "type": "int"
          },
          {
            "name": "length",
            "type": "?int",
            "default": "maximum length"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[retained-key: retained-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/73",
      "name": "Array.some",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "some(object $array, function $callback, ?object $bind): bool",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/73"
      },
      "definition": {
        "name": "some",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "callback",
            "type": "function"
          },
          {
            "name": "bind",
            "type": "?object"
          }
        ],
        "return": [
          {
            "type": "bool"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/74",
      "name": "Array.sortAscByKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortAscByKeys(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/74"
      },
      "definition": {
        "name": "sortAscByKeys",
        "description": "Sorts an array by keys in ascending lexicographic or numeric order.",
        "annotation": [
          "The sorting is guaranteed to be stable.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[reordered-key: original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/75",
      "name": "Array.sortAscByValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortAscByValues(object $array, ?string $key): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/75"
      },
      "definition": {
        "name": "sortAscByValues",
        "description": "Sorts an array by values in ascending lexicographic or numeric order.",
        "annotation": [
          "A key may specify the column of a multidimensional array to sort by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is interpreted as null for the purpose of sorting.",
          "The sorting is guaranteed to be stable.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "?string",
            "default": "unidimensional"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: reordered-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/76",
      "name": "Array.sortByKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortByKeys(object $array, function $callback, ?object $bind): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/76"
      },
      "definition": {
        "name": "sortByKeys",
        "description": "Sorts an array by keys in a particular order determined by a specific comparison callback function.",
        "annotation": [
          "The sorting is guaranteed to be stable.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "callback",
            "type": "function"
          },
          {
            "name": "bind",
            "type": "?object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[reordered-key: original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/77",
      "name": "Array.sortByValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortByValues(object $array, function $callback, ?object $bind, ?string $key): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/77"
      },
      "definition": {
        "name": "sortByValues",
        "description": "Sorts an array by values in a particular order determined by a specific comparison callback function.",
        "annotation": [
          "A key may specify the column of a multidimensional array to sort by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is interpreted as null for the purpose of sorting.",
          "The sorting is guaranteed to be stable.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "callback",
            "type": "function"
          },
          {
            "name": "bind",
            "type": "?object"
          },
          {
            "name": "key",
            "type": "?string",
            "default": "unidimensional"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: reordered-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/78",
      "name": "Array.sortDescByKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortDescByKeys(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/78"
      },
      "definition": {
        "name": "sortDescByKeys",
        "description": "Sorts an array by keys in descending lexicographic or numeric order.",
        "annotation": [
          "The sorting is guaranteed to be stable.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[reordered-key: original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/79",
      "name": "Array.sortDescByValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortDescByValues(object $array, ?string $key): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/79"
      },
      "definition": {
        "name": "sortDescByValues",
        "description": "Sorts an array by values in descending lexicographic or numeric order.",
        "annotation": [
          "A key may specify the column of a multidimensional array to sort by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is interpreted as null for the purpose of sorting.",
          "The sorting is guaranteed to be stable.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "?string",
            "default": "unidimensional"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: reordered-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/80",
      "name": "Array.sortMultidimensional",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortMultidimensional(object $array, object $callbacks, ?object $bind): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/80"
      },
      "definition": {
        "name": "sortMultidimensional",
        "annotation": [
          "The sorting is guaranteed to be stable.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "callbacks",
            "type": "object",
            "value": "[key: callback, ...]"
          },
          {
            "name": "bind",
            "type": "?object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: reordered-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/81",
      "name": "Array.sortNaturalAscByKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortNaturalAscByKeys(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/81"
      },
      "definition": {
        "name": "sortNaturalAscByKeys",
        "description": "Sorts an array by keys in ascending natural and case-insensitive order (US-ASCII only).",
        "annotation": [
          "The sorting is guaranteed to be stable.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[reordered-key: original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/82",
      "name": "Array.sortNaturalAscByValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortNaturalAscByValues(object $array, ?string $key): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/82"
      },
      "definition": {
        "name": "sortNaturalAscByValues",
        "description": "Sorts an array by values in ascending natural and case-insensitive order (US-ASCII only).",
        "annotation": [
          "A key may specify the column of a multidimensional array to sort by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is interpreted as null for the purpose of sorting.",
          "The sorting is guaranteed to be stable. Complex values are interpreted as strings for the purpose of sorting.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "?string",
            "default": "unidimensional"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: reordered-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/83",
      "name": "Array.sortNaturalDescByKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortNaturalDescByKeys(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/83"
      },
      "definition": {
        "name": "sortNaturalDescByKeys",
        "description": "Sorts an array by keys in descending natural and case-insensitive order (US-ASCII only).",
        "annotation": [
          "The sorting is guaranteed to be stable.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[reordered-key: original-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/84",
      "name": "Array.sortNaturalDescByValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "sortNaturalDescByValues(object $array, ?string $key): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/84"
      },
      "definition": {
        "name": "sortNaturalDescByValues",
        "description": "Sorts an array by values in descending natural and case-insensitive order (US-ASCII only).",
        "annotation": [
          "A key may specify the column of a multidimensional array to sort by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is interpreted as null for the purpose of sorting.",
          "The sorting is guaranteed to be stable. Complex values are interpreted as strings for the purpose of sorting.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "?string",
            "default": "unidimensional"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: reordered-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/85",
      "name": "Array.splice",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "splice(object $array, int $offset, ?int $length, object $replacement): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/85"
      },
      "definition": {
        "name": "splice",
        "description": "Extracts a specific portion of an array and replaces it with specific replacement values.",
        "annotation": [
          "If the offset is negative, it starts that many elements from the end of the array. If the length is null, every element from the offset until the end of the array is extracted, if it is negative, it stops that many elements from the end of the array.",
          "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all numeric keys in the original array and implicitly generates a consecutive numeric key for each replaced value, but preserves the keys in the extracted array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "offset",
            "type": "int"
          },
          {
            "name": "length",
            "type": "?int",
            "default": "maximum length"
          },
          {
            "name": "replacement",
            "type": "object",
            "value": "[value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[extracted-key: extracted-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/86",
      "name": "Array.tail",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "tail(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/86"
      },
      "definition": {
        "name": "tail",
        "description": "Creates a shallow copy of the tail of an array, meaning all elements except the first.",
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[tail-key: tail-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/87",
      "name": "Array.toCSV",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "toCSV(object $array, string $delimiter, bool $enclosed): string",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/87"
      },
      "definition": {
        "name": "toCSV",
        "annotation": [
          "This function is complementary to \"fromCSV\"."
        ],
        "param": [
          {
            "name": "array",
            "type": "object",
            "value": "[[value, ...], ...]"
          },
          {
            "name": "delimiter",
            "type": "string",
            "default": "\";\""
          },
          {
            "name": "enclosed",
            "type": "bool",
            "default": "false"
          }
        ],
        "return": [
          {
            "type": "string"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/88",
      "name": "Array.toLowerKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "toLowerKeys(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/88"
      },
      "definition": {
        "name": "toLowerKeys",
        "description": "Converts the keys of an array to lower case (UTF-8).",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[unique-lower-string-key: last-applicable-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/89",
      "name": "Array.toLowerKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "toLowerKeys(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/89"
      },
      "definition": {
        "name": "toLowerKeys",
        "description": "Converts the keys of an array to lower case (US-ASCII only).",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[unique-lower-string-key: last-applicable-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/90",
      "name": "Array.toUpperKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "toUpperKeys(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/90"
      },
      "definition": {
        "name": "toUpperKeys",
        "description": "Converts the keys of an array to upper case (UTF-8).",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[unique-upper-string-key: last-applicable-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/91",
      "name": "Array.toUpperKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "toUpperKeys(object $array): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/91"
      },
      "definition": {
        "name": "toUpperKeys",
        "description": "Converts the keys of an array to upper case (US-ASCII only).",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[unique-upper-string-key: last-applicable-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/92",
      "name": "Array.unionByKeys",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "unionByKeys(object $array, variadic $arrays): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/92"
      },
      "definition": {
        "name": "unionByKeys",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: original-value, ..., supplemental-elements-key: elements-value]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/93",
      "name": "Array.unionByValues",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "unionByValues(object $array, variadic $arrays): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/93"
      },
      "definition": {
        "name": "unionByValues",
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "arrays",
            "type": "variadic",
            "value": "[key: value, ...]"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[original-key: (supplemental-elements-value / original-value), ..., (non-numeric-elements-key: supplemental-elements-value) / supplemental-elements-value-if-numeric-key, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/94",
      "name": "Array.unique",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "unique(object $array, ?string $key): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/94"
      },
      "definition": {
        "name": "unique",
        "description": "Uniquifies an array by discarding duplicate values, retaining only the first occurrence of each value.",
        "annotation": [
          "A key may specify the column of a multidimensional array to distinguish by. If the key is null, the array is treated as an unidimensional list. If a key is specified, and it does not exist within the inner array, the corresponding element of the outer array is discarded.",
          "This function is destructive, in the sense that it modifies the array in-place. It preserves the keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "?string",
            "default": "unidimensional"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[first-applicable-key: unique-value, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/95",
      "name": "Array.unshift",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "unshift(object $array, mixed $value): object",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/95"
      },
      "definition": {
        "name": "unshift",
        "description": "Prepends a specific value to the beginning of an array.",
        "annotation": [
          "This function is destructive, in the sense that it modifies the array in-place. It re-indexes all numeric keys in the array."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "value",
            "type": "mixed"
          }
        ],
        "return": [
          {
            "type": "object",
            "value": "[added-value, (non-numeric-original-key: original-value) / original-value-if-numeric-key, ...]"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    },
    {
      "id": "zymba:/0/method/96",
      "name": "Array.valueAt",
      "kind": "method",
      "namespace": "Array",
      "static": true,
      "signature": "valueAt(object $array, string $key): mixed | null",
      "signatureKind": "display-only",
      "source": {
        "url": "/__doc/zymbaref.json",
        "canonicalUrl": "https://cloud.zeyos.com/__doc/zymbaref.json",
        "sha256": "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915",
        "pointer": "/0/method/96"
      },
      "definition": {
        "name": "valueAt",
        "description": "Returns the value at a specific key within an array.",
        "annotation": [
          "This function is equivalent to the \"[...]\" operator on objects."
        ],
        "param": [
          {
            "name": "array",
            "type": "object"
          },
          {
            "name": "key",
            "type": "string",
            "default": "\"0\""
          }
        ],
        "return": [
          {
            "type": "mixed"
          },
          {
            "type": "null",
            "description": "if the key is not found"
          }
        ]
      },
      "url": "/ai/zymba/namespace.Array.json"
    }
  ]
}
