...
Code Block |
---|
language | javascript |
---|
theme | Confluence |
---|
|
select when web pageview url "/archives/"
foreach [1, 2, 3] setting (x) |
...
Code Block |
---|
language | javascript |
---|
theme | Confluence |
---|
|
select when web pageview url "/archives/"
foreach f.pick("$..store") setting (x) |
...
Code Block |
---|
language | javascript |
---|
theme | Confluence |
---|
|
select when web pageview url "/archives/"
foreach {"a" : 1, "b" : 2, "c" : 3} setting (v,n,v) |
This would bind a
, b
, and c
to n
along with 1, 2, and 3 to v
on each successive iteration through the loop.
...
title | Engine Compatibility |
---|
...
.
You can have more than one loop in a rule by simply nesting one foreach
inside another:
Code Block |
---|
language | javascript |
---|
theme | Confluence |
---|
|
select when web pageview url "/archives/"
foreach [1, 2, 3] setting (x)
foreach ["a", "b", "c"] setting (y) |
...
Code Block |
---|
language | javascript |
---|
theme | Confluence |
---|
|
rule using_foreach {
select when web pageview url ".*"
foreach items setting (d)
pre {
h = d.pick("$.header") + " using foreach";
c = d.pick("$.content");
domain = page:url("domain");
}
if(domain eq d.pick("$.page")) then
notify(h,c);
} |
...
Code Block |
---|
language | javascript |
---|
theme | Confluence |
---|
|
rule using_foreach_with_filter {
select when web pageview url ".*"
foreach items.filter(
function(x) {page:url("domain") eq
x.pick("$.page")})
setting (d)
pre {
h = d.pick("$.header") + " using foreach";
c = d.pick("$.content");
domain = page:url("domain");
}
if(domain eq d.pick("$.page")) then
notify(h,c);
} |
...
Code Block |
---|
language | javascript |
---|
theme | Confluence |
---|
|
rule without_foreach {
select when web pageview url ".*"
pre {
dom = page:url("domain");
item = site_data.pick(
"$..items[?(@.page eq '"+dom+"')]");
content = item.pick("$..content");
header = item.pick("$..header")
+ " without foreach";
}
if(dom eq item.pick("$..page")) then
notify(header,content);
} |
...
Code Block |
---|
language | javascript |
---|
theme | Confluence |
---|
|
rule prepend {
select when web pageview url "windley.com"
foreach replacements.pick("$.replacements")
setting (r)
pre {
sel = r.pick("$.selector");
new_text = r.pick("$.text");
}
prepend(sel,new_text);
} |
...