1/* Block comment */
2/*
3    Multiline block
4    comment
5*/
6
7// inline comment
8function juttleFunction(arg) {
9    if (arg == null) {
10        return null;
11    }
12    else if (arg == 0) {
13        return 'zero';
14    }
15    else if (arg == 1) {
16        return "one";
17    }
18    else {
19        return 1.1;
20    }
21}
22
23reducer juttleReducer(field) {
24    var x = 0;
25    function update() {
26        x = *field;
27    }
28
29    function result() {
30        return x;
31    }
32}
33
34sub myemit(limit) {
35    emit -limit limit
36}
37
38input test: text -default 'input';
39const object = {
40    xyz: 123,
41    name: 'something'
42};
43
44const array = [
45    :2016-01-01:,
46    :2016-01-01T01:00:00:,
47    :2016-01-01T01:00:00.000:,
48    :2016-01-01T01:00:00.000Z:,
49    :2016-01-01T01:00:00.000-0800:,
50    :2016-01-01T01:00:00.000-08:00:,
51    :00:00:01:,
52    :00:00:00.001:,
53    :now:,
54    :beginning:,
55    :end:,
56    :forever:,
57    :yesterday:,
58    :today:,
59    :tomorrow:,
60    :1:,
61    :1.1:,
62    :1s:,
63    :1 second:,
64    :1 seconds:,
65    :100ms:,
66    :100 millisecond:,
67    :100 milliseconds:,
68    :1d:,
69    :1 day:,
70    :1 days:,
71    :.2h:,
72    :1.2h:,
73    :.2 hour:,
74    :1.2 hours:,
75    :.5d:,
76    :1.5d:,
77    :.5 day:,
78    :1.5 days:,
79    :5m:,
80    :5 minutes:,
81    :10w:,
82    :10 weeks:,
83    :10M:,
84    :10 months:,
85    :100y:,
86    :100 years:,
87    :1 year and 2 months and 2 days:
88];
89
90emit
91  | batch :10 minutes:
92  | filter x=true
93  | head 1
94  | join
95  | keep x
96  | pace -every :1 minute:
97  | pass
98  | put y=false
99  | remove z
100  | sequence
101  | skip 1
102  | sort field -desc
103  | split field
104  | tail 10
105  | unbatch
106  | uniq field
107;
108
109read adapter -last :day: 'search' AND field~/pattern/ OR field == 'string'
110  | write adapter
111