can-single-reference
Version:
Assign a value to a function that can be collected later
31 lines • 992 B
JavaScript
/*can-single-reference@1.2.2#can-single-reference*/
define([
'require',
'exports',
'module',
'can-cid'
], function (require, exports, module) {
(function (global, require, exports, module) {
'use strict';
var CID = require('can-cid');
var singleReference;
function getKeyName(key, extraKey) {
var keyName = extraKey ? CID(key) + ':' + extraKey : CID(key);
return keyName || key;
}
singleReference = {
set: function (obj, key, value, extraKey) {
obj[getKeyName(key, extraKey)] = value;
},
getAndDelete: function (obj, key, extraKey) {
var keyName = getKeyName(key, extraKey);
var value = obj[keyName];
delete obj[keyName];
return value;
}
};
module.exports = singleReference;
}(function () {
return this;
}(), require, exports, module));
});