var store = { id: 1, cache: {}, add: function (fn) { if (! fn.uuid) { fn.uuid = store.id ++; return !! (store.cache [fn.uuid] = fn); } } }; function ninja () {} assert (store.add (ninja), "Function is safely added."); assert (! store.add (ninja), "But it was only added once.");
Source: https://habr.com/ru/post/88211/