UNPKG

ember-cli-ajh

Version:

Command line tool for developing ambitious ember.js apps

28 lines (23 loc) 849 B
// 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); }); }); };