summaryrefslogtreecommitdiffstats
path: root/acf/model/set.lua
diff options
context:
space:
mode:
Diffstat (limited to 'acf/model/set.lua')
-rw-r--r--acf/model/set.lua47
1 files changed, 0 insertions, 47 deletions
diff --git a/acf/model/set.lua b/acf/model/set.lua
deleted file mode 100644
index b5b8dc3..0000000
--- a/acf/model/set.lua
+++ /dev/null
@@ -1,47 +0,0 @@
---[[
-Copyright (c) 2012-2013 Kaarle Ritvanen
-See LICENSE file for license details
---]]
-
-local M = {}
-
-local TreeNode = require('acf.model.field').TreeNode
-local npairs = require('acf.model.node').pairs
-local object = require('acf.object')
-
-
-M.Set = object.class(require('acf.model.node').List)
-
-function M.Set:init(context, params)
- assert(not object.isinstance(params.field, TreeNode))
- object.super(self, M.Set):init(context, params)
-
- local function find(value)
- for i, member in npairs(self) do
- if member == value then return i end
- end
- end
-
- local mt = getmetatable(self)
- mt.dereference = false
- mt.meta.type = 'set'
-
- function mt.get(k, create)
- local i = find(k)
- if i then return mt.load(i) end
- if create then return k end
- end
-
- function mt.__newindex(t, k, v)
- assert(v == nil)
- local i = find(k)
- if not i then return end
- mt.save(i, nil)
- end
-
- local insert = mt.insert
- function mt.insert(v) if not find(v) then insert(v) end end
-end
-
-
-return M