aboutsummaryrefslogtreecommitdiff
path: root/core.nom
diff options
context:
space:
mode:
Diffstat (limited to 'core.nom')
-rw-r--r--core.nom21
1 files changed, 21 insertions, 0 deletions
diff --git a/core.nom b/core.nom
index 0b0193b..54f728d 100644
--- a/core.nom
+++ b/core.nom
@@ -503,6 +503,19 @@ macro block:
|end
macro:
+ append %item to %list
+ add %item to %list
+..=:
+ ".."|table.insert(\%list as lua expr\, \%item as lua expr\)
+
+rule: flatten %lists ..=:
+ %flat =: []
+ for %list in %lists:
+ for %item in %list:
+ add %item to %flat
+ %flat
+
+macro:
%item is in %list
%list contains %item
..=:
@@ -521,6 +534,14 @@ rule: dict %items ..=:
lua block "vars.dict[vars.pair[1]] = vars.pair[2]"
return: %dict
+rule: entries in %dict ..=:
+ lua block ".."
+ |local items = {}
+ |for k,v in pairs(vars.dict) do
+ | table.insert(items, {key=k,value=v})
+ |end
+ |return items
+
# Permission functions
rule: restrict %fn to within %whitelist ..=:
lua block ".."