112:f4a4878c99a3
Anton Shestakov <av6@dwimlabs.net>, Thu, 07 Apr 2016 22:56:16 +0800
index: check if roster has the item before removing it Sometimes we get events from contacts that are not in user's roster, trying to remove such contacts used to fail before this patch.

next change 232:0fe8137e0f76
previous change 54:bb83c44ae4ac

js/rivets.js

Permissions: -rw-r--r--

Other formats: Feeds:
// Generated by CoffeeScript 1.10.0
(function() {
var slice = [].slice,
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
rivets.adapters[':'] = {
observe: function(obj, keypath, callback) {
return obj.on('change:' + keypath, callback);
},
unobserve: function(obj, keypath, callback) {
return obj.off('change:' + keypath, callback);
},
get: function(obj, keypath) {
return obj.get(keypath);
},
set: function(obj, keypath, value) {
return obj.set(keypath, value);
}
};
rivets.formatters['first-letter'] = function(value) {
var ref;
return (ref = value != null ? typeof value.charAt === "function" ? value.charAt(0) : void 0 : void 0) != null ? ref : ' ';
};
rivets.formatters['dumb-hash'] = function(value) {
var i, j, ref, result;
result = 0;
if (value != null ? value.length : void 0) {
for (i = j = 0, ref = value.length; 0 <= ref ? j < ref : j > ref; i = 0 <= ref ? ++j : --j) {
result += value.charCodeAt(i);
}
}
return result;
};
rivets.formatters['fn'] = function(value, fn) {
return fn(value);
};
rivets.formatters['only'] = function() {
var allowed, value;
value = arguments[0], allowed = 2 <= arguments.length ? slice.call(arguments, 1) : [];
if (indexOf.call(allowed, value) >= 0) {
return value;
} else {
return '';
}
};
rivets.formatters['eq'] = function(a, b) {
return a === b;
};
rivets.formatters['has'] = function(a, b) {
return (a != null) && indexOf.call(a, b) >= 0;
};
rivets.formatters['format-date'] = function(value, format) {
if (value != null) {
return value.format(format);
} else {
return '';
}
};
rivets.formatters['iso-date'] = function(value) {
if (value != null) {
return value.toISOString();
} else {
return '';
}
};
rivets.formatters['from-now'] = function(value) {
if (value != null) {
return value.fromNow();
} else {
return '';
}
};
}).call(this);
//# sourceMappingURL=rivets.js.map