summary refs log tree commit diff stats
path: root/tests/js/tderef.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/js/tderef.nim')
-rw-r--r--tests/js/tderef.nim20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/js/tderef.nim b/tests/js/tderef.nim
new file mode 100644
index 000000000..ddb91bd42
--- /dev/null
+++ b/tests/js/tderef.nim
@@ -0,0 +1,20 @@
+discard """
+  output: '''true
+'''
+"""
+
+import tables
+
+type EventStore = Table[string, seq[proc ()]]
+
+proc newEventStore(): EventStore =
+  initTable[string, seq[proc ()]]()
+
+proc register(store: var EventStore, name: string, callback: proc ()) =
+  if not store.hasKey(name):
+    store[name] = @[]
+  store[name].add(callback)
+
+var store = newEventStore()
+store.register("test", proc () = echo "true")
+store["test"][0]()