Return, by value, a datum that refers to the specified array. The behavior is undefined unless array was created using createUninitializedArray method. The behavior is also undefined unless each element in the held datum array has been assigned a value and the array's length has been set accordingly. Note that the adopted array is owned and will be freed if Datum::destroy is called on the returned object.