summaryrefslogtreecommitdiff
path: root/examples/resources
diff options
context:
space:
mode:
Diffstat (limited to 'examples/resources')
-rw-r--r--examples/resources/lib/pubsub.lua24
-rw-r--r--examples/resources/lib/utillib.lua3
2 files changed, 20 insertions, 7 deletions
diff --git a/examples/resources/lib/pubsub.lua b/examples/resources/lib/pubsub.lua
index 2847d92..47d9a63 100644
--- a/examples/resources/lib/pubsub.lua
+++ b/examples/resources/lib/pubsub.lua
@@ -13,21 +13,33 @@ function PubSub:add( name )
self.signals[ name ] = {}
end
+function PubSub:remove( name )
+ if self.signals[ name ] ~= nil then
+ table.remove( self.signals, name )
+ end
+end
+
function PubSub:subscribe( name, func )
- table.insert( self.signals[ name ], func )
+ if self.signals[ name ] ~= nil then
+ table.insert( self.signals[ name ], func )
+ end
end
function PubSub:unSubscribe( name, uFunc )
- for i, func in ipairs( self.signals[ name ] ) do
- if func == uFunc then
- table.remove( self.signals[ name ], i )
+ if self.signals[ name ] ~= nil then
+ for i, func in ipairs( self.signals[ name ] ) do
+ if func == uFunc then
+ table.remove( self.signals[ name ], i )
+ end
end
end
end
function PubSub:publish( name, ... )
- for _, func in ipairs( self.signals[ name ] ) do
- func( ... )
+ if self.signals[ name ] ~= nil then
+ for _, func in ipairs( self.signals[ name ] ) do
+ func( ... )
+ end
end
end
diff --git a/examples/resources/lib/utillib.lua b/examples/resources/lib/utillib.lua
index 73bb11c..a661f60 100644
--- a/examples/resources/lib/utillib.lua
+++ b/examples/resources/lib/utillib.lua
@@ -7,7 +7,8 @@ end
local utillib = {}
-function utillib.tableClone( org )
+-- Does not work with dictionaries.
+function utillib.arrayClone( org )
return { table.unpack( org ) }
end