diff options
author | Matthew Wild <mwild1@gmail.com> | 2011-02-23 18:31:48 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2011-02-23 18:31:48 +0000 |
commit | ba01859e1ce26869d0871f891a686e3c89ceaf44 (patch) | |
tree | d4575b3b35b74fa87937381a77677ffac2b4bd12 /tools/migration/mtools.lua | |
parent | 6bac77b06f0e115e95ea2e4dbb51db1cfe94d954 (diff) | |
download | prosody-ba01859e1ce26869d0871f891a686e3c89ceaf44.tar.gz prosody-ba01859e1ce26869d0871f891a686e3c89ceaf44.zip |
tools/migration/*.lua: Convert to unix line endings
Diffstat (limited to 'tools/migration/mtools.lua')
-rw-r--r-- | tools/migration/mtools.lua | 112 |
1 files changed, 56 insertions, 56 deletions
diff --git a/tools/migration/mtools.lua b/tools/migration/mtools.lua index d2bd1e7a..e7b774bb 100644 --- a/tools/migration/mtools.lua +++ b/tools/migration/mtools.lua @@ -1,56 +1,56 @@ -
-
-local print = print;
-local t_insert = table.insert;
-local t_sort = table.sort;
-
-module "mtools"
-
-function sorted(params)
-
- local reader = params.reader; -- iterator to get items from
- local sorter = params.sorter; -- sorting function
- local filter = params.filter; -- filter function
-
- local cache = {};
- for item in reader do
- if filter then item = filter(item); end
- if item then t_insert(cache, item); end
- end
- if sorter then
- t_sort(cache, sorter);
- end
- local i = 0;
- return function()
- i = i + 1;
- return cache[i];
- end;
-
-end
-
-function merged(reader, merger)
-
- local item1 = reader();
- local merged = { item1 };
- return function()
- while true do
- if not item1 then return nil; end
- local item2 = reader();
- if not item2 then item1 = nil; return merged; end
- if merger(item1, item2) then
- --print("merged")
- item1 = item2;
- t_insert(merged, item1);
- else
- --print("unmerged", merged)
- item1 = item2;
- local tmp = merged;
- merged = { item1 };
- return tmp;
- end
- end
- end;
-
-end
-
-return _M;
+ + +local print = print; +local t_insert = table.insert; +local t_sort = table.sort; + +module "mtools" + +function sorted(params) + + local reader = params.reader; -- iterator to get items from + local sorter = params.sorter; -- sorting function + local filter = params.filter; -- filter function + + local cache = {}; + for item in reader do + if filter then item = filter(item); end + if item then t_insert(cache, item); end + end + if sorter then + t_sort(cache, sorter); + end + local i = 0; + return function() + i = i + 1; + return cache[i]; + end; + +end + +function merged(reader, merger) + + local item1 = reader(); + local merged = { item1 }; + return function() + while true do + if not item1 then return nil; end + local item2 = reader(); + if not item2 then item1 = nil; return merged; end + if merger(item1, item2) then + --print("merged") + item1 = item2; + t_insert(merged, item1); + else + --print("unmerged", merged) + item1 = item2; + local tmp = merged; + merged = { item1 }; + return tmp; + end + end + end; + +end + +return _M; |