Sha256: f5f7ceea04fbeae0f6137892da4e2b3aa98380422f7dc3fd4aa4d53a0fb5b966
Contents?: true
Size: 849 Bytes
Versions: 14
Compression:
Stored size: 849 Bytes
Contents
// Call dispose callback on each cache purge 'use strict'; var callable = require('es5-ext/object/valid-callable') , forEach = require('es5-ext/object/for-each') , extensions = require('../lib/registered-extensions') , slice = Array.prototype.slice, apply = Function.prototype.apply; extensions.dispose = function (dispose, conf, options) { var del; callable(dispose); if (options.async && extensions.async) { conf.on('deleteasync', del = function (id, result) { apply.call(dispose, null, slice.call(result.args, 1)); }); 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); }); }); };
Version data entries
14 entries across 7 versions & 1 rubygems