1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
use crate;
/// See lodash [last](https://lodash.com/docs/#last)
/// Based on [last()]
///
/// Examples:
///
/// ```rust
/// #[macro_use] extern crate serde_json_lodash;
/// use serde_json::json;
/// assert_eq!(
/// last!(json!([1, 2, 3])),
/// json!(3)
/// );
/// ```
///
/// More examples:
///
/// ```rust
/// # #[macro_use] extern crate serde_json_lodash;
/// # use serde_json::json;
/// assert_eq!(last!(), json!(null));
/// assert_eq!(last!(json!(null)), json!(null));
/// assert_eq!(last!(json!(false)), json!(null));
/// assert_eq!(last!(json!(0)), json!(null));
/// assert_eq!(last!(json!("")), json!(null));
/// assert_eq!(last!(json!("ab")), json!("b"));
/// assert_eq!(last!(json!("日本")), json!("本"));
/// assert_eq!(last!(json!([])), json!(null));
/// assert_eq!(last!(json!([null])), json!(null));
/// assert_eq!(last!(json!([[null]])), json!([null]));
/// assert_eq!(last!(json!({})), json!(null));
/// assert_eq!(last!(json!({"a":1})), json!(null));
/// ```