+28
@@ -0,0 +1,28 @@
|
||||
function propertyRemove(name) {
|
||||
return function() {
|
||||
delete this[name];
|
||||
};
|
||||
}
|
||||
|
||||
function propertyConstant(name, value) {
|
||||
return function() {
|
||||
this[name] = value;
|
||||
};
|
||||
}
|
||||
|
||||
function propertyFunction(name, value) {
|
||||
return function() {
|
||||
var v = value.apply(this, arguments);
|
||||
if (v == null) delete this[name];
|
||||
else this[name] = v;
|
||||
};
|
||||
}
|
||||
|
||||
export default function(name, value) {
|
||||
return arguments.length > 1
|
||||
? this.each((value == null
|
||||
? propertyRemove : typeof value === "function"
|
||||
? propertyFunction
|
||||
: propertyConstant)(name, value))
|
||||
: this.node()[name];
|
||||
}
|
||||
Reference in New Issue
Block a user