Software /
code /
prosody
Comparison
util/multitable.lua @ 6777:5de6b93d0190
util.*: Remove use of module() function, make all module functions local and return them in a table at the end
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 21 Feb 2015 10:36:37 +0100 |
parent | 5776:bd0ff8ae98a8 |
child | 7185:5687788a2e4d |
comparison
equal
deleted
inserted
replaced
6774:3965662ae091 | 6777:5de6b93d0190 |
---|---|
8 | 8 |
9 local select = select; | 9 local select = select; |
10 local t_insert = table.insert; | 10 local t_insert = table.insert; |
11 local unpack, pairs, next, type = unpack, pairs, next, type; | 11 local unpack, pairs, next, type = unpack, pairs, next, type; |
12 | 12 |
13 module "multitable" | 13 local _ENV = nil; |
14 | 14 |
15 local function get(self, ...) | 15 local function get(self, ...) |
16 local t = self.data; | 16 local t = self.data; |
17 for n = 1,select('#', ...) do | 17 for n = 1,select('#', ...) do |
18 t = t[select(n, ...)]; | 18 t = t[select(n, ...)]; |
124 end | 124 end |
125 s(self.data, 1, results, _end, ...); | 125 s(self.data, 1, results, _end, ...); |
126 return results; | 126 return results; |
127 end | 127 end |
128 | 128 |
129 function iter(self, ...) | 129 local function iter(self, ...) |
130 local query = { ... }; | 130 local query = { ... }; |
131 local maxdepth = select("#", ...); | 131 local maxdepth = select("#", ...); |
132 local stack = { self.data }; | 132 local stack = { self.data }; |
133 local keys = { }; | 133 local keys = { }; |
134 local function it(self) | 134 local function it(self) |
159 return it(self); | 159 return it(self); |
160 end; | 160 end; |
161 return it, self; | 161 return it, self; |
162 end | 162 end |
163 | 163 |
164 function new() | 164 local function new() |
165 return { | 165 return { |
166 data = {}; | 166 data = {}; |
167 get = get; | 167 get = get; |
168 add = add; | 168 add = add; |
169 set = set; | 169 set = set; |
172 search_add = search_add; | 172 search_add = search_add; |
173 iter = iter; | 173 iter = iter; |
174 }; | 174 }; |
175 end | 175 end |
176 | 176 |
177 return _M; | 177 return { |
178 iter = iter; | |
179 new = new; | |
180 }; |