Spaces:
Runtime error
Runtime error
| // Call dispose callback on each cache purge | |
| ; | |
| var callable = require("es5-ext/object/valid-callable") | |
| , forEach = require("es5-ext/object/for-each") | |
| , extensions = require("../lib/registered-extensions") | |
| , apply = Function.prototype.apply; | |
| extensions.dispose = function (dispose, conf, options) { | |
| var del; | |
| callable(dispose); | |
| if ((options.async && extensions.async) || (options.promise && extensions.promise)) { | |
| conf.on("deleteasync", del = function (id, resultArray) { | |
| apply.call(dispose, null, resultArray); | |
| }); | |
| conf.on("clearasync", function (cache) { | |
| forEach(cache, function (result, id) { | |
| del(id, result); | |
| }); | |
| }); | |
| return; | |
| } | |
| conf.on("delete", del = function (id, result) { | |
| dispose(result); | |
| }); | |
| conf.on("clear", function (cache) { | |
| forEach(cache, function (result, id) { | |
| del(id, result); | |
| }); | |
| }); | |
| }; | |