Array returns a new Array attached to underlying value. If underlying value is not an array ([]interface{}), failure is reported and empty (but non-nil) value is returned. Example: value := NewValue(t, []interface{}{"foo", 123}) value.Array().ConsistsOf("foo", 123)
()
| 261 | // value := NewValue(t, []interface{}{"foo", 123}) |
| 262 | // value.Array().ConsistsOf("foo", 123) |
| 263 | func (v *Value) Array() *Array { |
| 264 | opChain := v.chain.enter("Array()") |
| 265 | defer opChain.leave() |
| 266 | |
| 267 | if opChain.failed() { |
| 268 | return newArray(opChain, nil) |
| 269 | } |
| 270 | |
| 271 | data, ok := v.value.([]interface{}) |
| 272 | |
| 273 | if !ok { |
| 274 | opChain.fail(AssertionFailure{ |
| 275 | Type: AssertValid, |
| 276 | Actual: &AssertionValue{v.value}, |
| 277 | Errors: []error{ |
| 278 | errors.New("expected: value is array"), |
| 279 | }, |
| 280 | }) |
| 281 | return newArray(opChain, nil) |
| 282 | } |
| 283 | |
| 284 | return newArray(opChain, data) |
| 285 | } |
| 286 | |
| 287 | // String returns a new String attached to underlying value. |
| 288 | // |