mirror of
https://github.com/BreizhHardware/memoizee.git
synced 2026-03-18 21:40:27 +01:00
-- lint
This commit is contained in:
@@ -5,8 +5,8 @@ var memoize = require('../..')
|
||||
|
||||
module.exports = function () {
|
||||
return {
|
||||
"Regular": {
|
||||
"Success": function (a, d) {
|
||||
Regular: {
|
||||
Success: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0, invoked = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -75,7 +75,7 @@ module.exports = function () {
|
||||
});
|
||||
});
|
||||
},
|
||||
"Error": function (a, d) {
|
||||
Error: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0, e = new Error("Test");
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -120,8 +120,8 @@ module.exports = function () {
|
||||
});
|
||||
}
|
||||
},
|
||||
"Primitive": {
|
||||
"Success": function (a, d) {
|
||||
Primitive: {
|
||||
Success: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -178,7 +178,7 @@ module.exports = function () {
|
||||
});
|
||||
});
|
||||
},
|
||||
"Error": function (a, d) {
|
||||
Error: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0, e = new Error("Test");
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
|
||||
@@ -5,8 +5,8 @@ var memoize = require('../..')
|
||||
|
||||
module.exports = function () {
|
||||
return {
|
||||
"Regular": {
|
||||
"Sync": function (a) {
|
||||
Regular: {
|
||||
Sync: function (a) {
|
||||
var mfn, fn, value = [], x, invoked;
|
||||
fn = function (x, y) { return x + y; };
|
||||
mfn = memoize(fn, { dispose: function (val) { value.push(val); } });
|
||||
@@ -62,7 +62,7 @@ module.exports = function () {
|
||||
mfn.clear();
|
||||
a.deep(value, [10, 88], "Clear all");
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, value = [];
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () { cb(null, x + y); });
|
||||
@@ -93,8 +93,8 @@ module.exports = function () {
|
||||
});
|
||||
}
|
||||
},
|
||||
"Primitive": {
|
||||
"Sync": function (a) {
|
||||
Primitive: {
|
||||
Sync: function (a) {
|
||||
var mfn, fn, value = [];
|
||||
fn = function (x, y) { return x + y; };
|
||||
mfn = memoize(fn, { dispose: function (val) { value.push(val); } });
|
||||
@@ -138,7 +138,7 @@ module.exports = function () {
|
||||
mfn.clear();
|
||||
a.deep(value, [10, 88], "Clear all");
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, value = [];
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () { cb(null, x + y); });
|
||||
|
||||
@@ -7,8 +7,8 @@ require('../../ext/async');
|
||||
|
||||
module.exports = function () {
|
||||
return {
|
||||
"Regular": {
|
||||
"Sync": function (a, d) {
|
||||
Regular: {
|
||||
Sync: function (a, d) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y) {
|
||||
++i;
|
||||
@@ -52,7 +52,7 @@ module.exports = function () {
|
||||
}, 90);
|
||||
}, 20);
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -108,8 +108,8 @@ module.exports = function () {
|
||||
}, 20);
|
||||
}
|
||||
},
|
||||
"Primitive": {
|
||||
"Sync": function (a, d) {
|
||||
Primitive: {
|
||||
Sync: function (a, d) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y) {
|
||||
++i;
|
||||
@@ -148,7 +148,7 @@ module.exports = function () {
|
||||
}, 100);
|
||||
}, 20);
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -204,8 +204,8 @@ module.exports = function () {
|
||||
}, 20);
|
||||
}
|
||||
},
|
||||
"Refetch": {
|
||||
"Default": function (a, d) {
|
||||
Refetch: {
|
||||
Default: function (a, d) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y) {
|
||||
++i;
|
||||
@@ -265,7 +265,7 @@ module.exports = function () {
|
||||
}, 200);
|
||||
}, 300);
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
++i;
|
||||
@@ -354,7 +354,7 @@ module.exports = function () {
|
||||
});
|
||||
|
||||
},
|
||||
"Custom": function (a, d) {
|
||||
Custom: function (a, d) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y) {
|
||||
++i;
|
||||
|
||||
@@ -5,8 +5,8 @@ var memoize = require('../..')
|
||||
|
||||
module.exports = function () {
|
||||
return {
|
||||
"Regular": {
|
||||
"Sync": function (a) {
|
||||
Regular: {
|
||||
Sync: function (a) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y) {
|
||||
++i;
|
||||
@@ -61,7 +61,7 @@ module.exports = function () {
|
||||
a(mfn(77, 11), 88, "Result D #5");
|
||||
a(i, 11, "Called D #5");
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -181,8 +181,8 @@ module.exports = function () {
|
||||
}), u, "Initial #1");
|
||||
}
|
||||
},
|
||||
"Primitive": {
|
||||
"Sync": function (a) {
|
||||
Primitive: {
|
||||
Sync: function (a) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y) {
|
||||
++i;
|
||||
@@ -237,7 +237,7 @@ module.exports = function () {
|
||||
a(mfn(77, 11), 88, "Result D #5");
|
||||
a(i, 11, "Called D #5");
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
|
||||
@@ -5,7 +5,7 @@ var memoize = require('../..')
|
||||
|
||||
module.exports = function () {
|
||||
return {
|
||||
"Regular": function (a) {
|
||||
Regular: function (a) {
|
||||
var i = 0, fn = function (x, y, z) { ++i; return x + y + z; }, mfn;
|
||||
mfn = memoize(fn, { refCounter: true });
|
||||
a(mfn.deleteRef(3, 5, 7), null, "Delete before");
|
||||
@@ -87,7 +87,7 @@ module.exports = function () {
|
||||
});
|
||||
});
|
||||
},
|
||||
"Primitive": function (a) {
|
||||
Primitive: function (a) {
|
||||
var i = 0, fn = function (x, y, z) { ++i; return x + y + z; }, mfn;
|
||||
mfn = memoize(fn, { primitive: true, refCounter: true });
|
||||
a(mfn.deleteRef(3, 5, 7), null, "Delete before");
|
||||
|
||||
@@ -28,7 +28,7 @@ module.exports = function (t, a) {
|
||||
a(fn(), undefined, "Third");
|
||||
a(i, 1, "Called once");
|
||||
},
|
||||
"Arg": function () {
|
||||
Arg: function () {
|
||||
var x = {};
|
||||
i = 0;
|
||||
a(fn(x, 8), x, "First");
|
||||
@@ -66,7 +66,7 @@ module.exports = function (t, a) {
|
||||
a(fn(x, 8), r, "Third");
|
||||
a(i, 1, "Called once");
|
||||
return {
|
||||
"Other": function () {
|
||||
Other: function () {
|
||||
a.deep(r = fn(x, 5), [x, 5, undefined], "Second");
|
||||
a(fn(x, 5), r, "Third");
|
||||
a(i, 2, "Called once");
|
||||
@@ -81,7 +81,7 @@ module.exports = function (t, a) {
|
||||
a(fn(x, 8, 23, 9), r, "Third");
|
||||
a(i, 1, "Called once");
|
||||
return {
|
||||
"Other": function () {
|
||||
Other: function () {
|
||||
a.deep(r = fn(x, 23, 8, 13), [x, 23, 8], "Second");
|
||||
a(fn(x, 23, 8, 22), r, "Third");
|
||||
a(i, 2, "Called once");
|
||||
@@ -101,7 +101,7 @@ module.exports = function (t, a) {
|
||||
a(mfn(true, 'ola'), '34|bar', "#4");
|
||||
a(i, 2, "Called twice #2");
|
||||
},
|
||||
"Dynamic": function () {
|
||||
Dynamic: function () {
|
||||
var i = 0, fn = function () { ++i; return arguments; }, r;
|
||||
|
||||
fn = t(fn, { length: false });
|
||||
@@ -131,7 +131,7 @@ module.exports = function (t, a) {
|
||||
}
|
||||
};
|
||||
},
|
||||
"Resolvers": function () {
|
||||
Resolvers: function () {
|
||||
var i = 0, fn, r;
|
||||
fn = t(function () { ++i; return arguments; },
|
||||
{ length: 3, resolvers: [Boolean, String] });
|
||||
@@ -152,7 +152,7 @@ module.exports = function (t, a) {
|
||||
a(fn(0, 34, x, false), r, "Third");
|
||||
a(i, 1, "Called once");
|
||||
return {
|
||||
"Other": function () {
|
||||
Other: function () {
|
||||
a.deep(aFrom(r = fn(1, 34, x, 34)),
|
||||
[true, '34', x, 34], "Second");
|
||||
a(fn(1, 34, x, 89), r, "Third");
|
||||
@@ -163,7 +163,7 @@ module.exports = function (t, a) {
|
||||
};
|
||||
},
|
||||
"Clear Cache": {
|
||||
"Specific": function () {
|
||||
Specific: function () {
|
||||
var i = 0, fn, mfn, x = {};
|
||||
|
||||
fn = function (a, b, c) {
|
||||
@@ -194,7 +194,7 @@ module.exports = function (t, a) {
|
||||
mfn(1, x, 3);
|
||||
a(i, 1, "Proper no arguments clear");
|
||||
},
|
||||
"All": function () {
|
||||
All: function () {
|
||||
var i = 0, fn, x = {};
|
||||
|
||||
fn = function () {
|
||||
@@ -216,7 +216,7 @@ module.exports = function (t, a) {
|
||||
a(i, 4, "After clear");
|
||||
}
|
||||
},
|
||||
"Primitive": {
|
||||
Primitive: {
|
||||
"No args": function (a) {
|
||||
var i = 0, fn = function () { ++i; return arguments[0]; }, mfn;
|
||||
mfn = t(fn, { primitive: true });
|
||||
@@ -254,7 +254,7 @@ module.exports = function (t, a) {
|
||||
}
|
||||
},
|
||||
"Reference counter": {
|
||||
"Regular": function (a) {
|
||||
Regular: function (a) {
|
||||
var i = 0, fn = function (x, y, z) { ++i; return x + y + z; }, mfn;
|
||||
mfn = t(fn, { refCounter: true });
|
||||
a(mfn.deleteRef(3, 5, 7), null, "Clear before");
|
||||
@@ -274,7 +274,7 @@ module.exports = function (t, a) {
|
||||
mfn(3, 5, 7);
|
||||
a(i, 2, "Cached again");
|
||||
},
|
||||
"Primitive": function (a) {
|
||||
Primitive: function (a) {
|
||||
var i = 0, fn = function (x, y, z) { ++i; return x + y + z; }, mfn;
|
||||
mfn = t(fn, { primitive: true, refCounter: true });
|
||||
a(mfn.deleteRef(3, 5, 7), null, "Clear before");
|
||||
@@ -295,9 +295,9 @@ module.exports = function (t, a) {
|
||||
a(i, 2, "Cached again");
|
||||
}
|
||||
},
|
||||
"Async": {
|
||||
"Regular": {
|
||||
"Success": function (a, d) {
|
||||
Async: {
|
||||
Regular: {
|
||||
Success: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0, invoked = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -428,7 +428,7 @@ module.exports = function (t, a) {
|
||||
});
|
||||
});
|
||||
},
|
||||
"Error": function (a, d) {
|
||||
Error: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0, e = new Error("Test");
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -473,8 +473,8 @@ module.exports = function (t, a) {
|
||||
});
|
||||
}
|
||||
},
|
||||
"Primitive": {
|
||||
"Success": function (a, d) {
|
||||
Primitive: {
|
||||
Success: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -593,7 +593,7 @@ module.exports = function (t, a) {
|
||||
});
|
||||
});
|
||||
},
|
||||
"Error": function (a, d) {
|
||||
Error: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0, e = new Error("Test");
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -639,9 +639,9 @@ module.exports = function (t, a) {
|
||||
}
|
||||
}
|
||||
},
|
||||
"MaxAge": {
|
||||
"Regular": {
|
||||
"Sync": function (a, d) {
|
||||
MaxAge: {
|
||||
Regular: {
|
||||
Sync: function (a, d) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y) {
|
||||
++i;
|
||||
@@ -680,7 +680,7 @@ module.exports = function (t, a) {
|
||||
}, 100);
|
||||
}, 20);
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -736,8 +736,8 @@ module.exports = function (t, a) {
|
||||
}, 20);
|
||||
}
|
||||
},
|
||||
"Primitive": {
|
||||
"Sync": function (a, d) {
|
||||
Primitive: {
|
||||
Sync: function (a, d) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y) {
|
||||
++i;
|
||||
@@ -776,7 +776,7 @@ module.exports = function (t, a) {
|
||||
}, 100);
|
||||
}, 20);
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -833,9 +833,9 @@ module.exports = function (t, a) {
|
||||
}
|
||||
}
|
||||
},
|
||||
"Max": {
|
||||
"Regular": {
|
||||
"Sync": function (a) {
|
||||
Max: {
|
||||
Regular: {
|
||||
Sync: function (a) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y) {
|
||||
++i;
|
||||
@@ -890,7 +890,7 @@ module.exports = function (t, a) {
|
||||
a(mfn(77, 11), 88, "Result D #5");
|
||||
a(i, 11, "Called D #5");
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -1010,8 +1010,8 @@ module.exports = function (t, a) {
|
||||
}), u, "Initial #1");
|
||||
}
|
||||
},
|
||||
"Primitive": {
|
||||
"Sync": function (a) {
|
||||
Primitive: {
|
||||
Sync: function (a) {
|
||||
var mfn, fn, i = 0;
|
||||
fn = function (x, y) {
|
||||
++i;
|
||||
@@ -1066,7 +1066,7 @@ module.exports = function (t, a) {
|
||||
a(mfn(77, 11), 88, "Result D #5");
|
||||
a(i, 11, "Called D #5");
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, i = 0;
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () {
|
||||
@@ -1187,9 +1187,9 @@ module.exports = function (t, a) {
|
||||
}
|
||||
}
|
||||
},
|
||||
"Dispose": {
|
||||
"Regular": {
|
||||
"Sync": function (a) {
|
||||
Dispose: {
|
||||
Regular: {
|
||||
Sync: function (a) {
|
||||
var mfn, fn, value = [], x, invoked;
|
||||
fn = function (x, y) { return x + y; };
|
||||
mfn = t(fn, { dispose: function (val) { value.push(val); } });
|
||||
@@ -1245,7 +1245,7 @@ module.exports = function (t, a) {
|
||||
mfn.clear();
|
||||
a.deep(value, [10, 88], "Clear all");
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, value = [];
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () { cb(null, x + y); });
|
||||
@@ -1276,8 +1276,8 @@ module.exports = function (t, a) {
|
||||
});
|
||||
}
|
||||
},
|
||||
"Primitive": {
|
||||
"Sync": function (a) {
|
||||
Primitive: {
|
||||
Sync: function (a) {
|
||||
var mfn, fn, value = [];
|
||||
fn = function (x, y) { return x + y; };
|
||||
mfn = t(fn, { dispose: function (val) { value.push(val); } });
|
||||
@@ -1321,7 +1321,7 @@ module.exports = function (t, a) {
|
||||
mfn.clear();
|
||||
a.deep(value, [10, 88], "Clear all");
|
||||
},
|
||||
"Async": function (a, d) {
|
||||
Async: function (a, d) {
|
||||
var mfn, fn, u = {}, value = [];
|
||||
fn = function (x, y, cb) {
|
||||
nextTick(function () { cb(null, x + y); });
|
||||
|
||||
@@ -25,7 +25,7 @@ module.exports = function () {
|
||||
a(mfn(y, 'bar', 'zeta'), 'foobarzeta', "#3");
|
||||
a(i, 2, "Called twice");
|
||||
},
|
||||
"Circular": function (a) {
|
||||
Circular: function (a) {
|
||||
var i = 0, fn;
|
||||
fn = memoize(function (x) {
|
||||
if (++i < 2) fn(x);
|
||||
@@ -42,7 +42,7 @@ module.exports = function () {
|
||||
fn('foo', 'bar');
|
||||
}, 'CIRCULAR_INVOCATION');
|
||||
},
|
||||
"Resolvers": function () {
|
||||
Resolvers: function () {
|
||||
var i = 0, fn, r;
|
||||
fn = memoize(function () { ++i; return arguments; },
|
||||
{ length: 3, resolvers: [Boolean, String] });
|
||||
@@ -62,7 +62,7 @@ module.exports = function () {
|
||||
a(fn(0, 34, x, false), r, "Third");
|
||||
a(i, 1, "Called once");
|
||||
return {
|
||||
"Other": function (a) {
|
||||
Other: function (a) {
|
||||
a.deep(aFrom(r = fn(1, 34, x, 34)),
|
||||
[true, '34', x, 34], "Second");
|
||||
a(fn(1, 34, x, 89), r, "Third");
|
||||
|
||||
@@ -15,7 +15,7 @@ module.exports = {
|
||||
a(fn(), undefined, "Third");
|
||||
a(i, 1, "Called once");
|
||||
},
|
||||
"Arg": function () {
|
||||
Arg: function () {
|
||||
var x = {};
|
||||
i = 0;
|
||||
a(fn(x, 8), x, "First");
|
||||
@@ -33,7 +33,7 @@ module.exports = {
|
||||
}
|
||||
};
|
||||
},
|
||||
"Delete": function (a) {
|
||||
Delete: function (a) {
|
||||
var i = 0, fn, mfn, x = {};
|
||||
|
||||
fn = function (a, b, c) {
|
||||
|
||||
@@ -23,7 +23,7 @@ module.exports = {
|
||||
a(fn(x, 8), r, "Third");
|
||||
a(i, 1, "Called once");
|
||||
return {
|
||||
"Other": function () {
|
||||
Other: function () {
|
||||
a.deep(r = fn(x, 5), [x, 5, undefined], "Second");
|
||||
a(fn(x, 5), r, "Third");
|
||||
a(i, 2, "Called once");
|
||||
@@ -38,7 +38,7 @@ module.exports = {
|
||||
a(fn(x, 8, 23, 9), r, "Third");
|
||||
a(i, 1, "Called once");
|
||||
return {
|
||||
"Other": function () {
|
||||
Other: function () {
|
||||
a.deep(r = fn(x, 23, 8, 13), [x, 23, 8], "Second");
|
||||
a(fn(x, 23, 8, 22), r, "Third");
|
||||
a(i, 2, "Called once");
|
||||
@@ -47,7 +47,7 @@ module.exports = {
|
||||
}
|
||||
};
|
||||
},
|
||||
"Delete": function (a) {
|
||||
Delete: function (a) {
|
||||
var i = 0, fn, mfn, x = {};
|
||||
|
||||
fn = function (a, b, c) {
|
||||
@@ -67,7 +67,7 @@ module.exports = {
|
||||
a(mfn(3, x, 1), 6, "Reinit Cached");
|
||||
a(i, 3, "Reinit count");
|
||||
},
|
||||
"Clear": function (a) {
|
||||
Clear: function (a) {
|
||||
var i = 0, fn, x = {};
|
||||
|
||||
fn = function () {
|
||||
|
||||
@@ -11,7 +11,7 @@ module.exports = {
|
||||
a(mfn('foo', 'bar', 'zeta'), 'foobarzeta', "#2");
|
||||
a(i, 1, "Called once");
|
||||
},
|
||||
"Delete": function (a) {
|
||||
Delete: function (a) {
|
||||
var i = 0, fn = function (x, y, z) { ++i; return x + y + z; }, mfn
|
||||
, y = { toString: function () { return 'foo'; } };
|
||||
mfn = memoize(fn, { primitive: true });
|
||||
@@ -23,7 +23,7 @@ module.exports = {
|
||||
a(mfn(y, 'bar', 'zeta'), 'foobarzeta', "#3");
|
||||
a(i, 2, "Called twice");
|
||||
},
|
||||
"Clear": function (a) {
|
||||
Clear: function (a) {
|
||||
var i = 0, fn;
|
||||
fn = memoize(function (x) {
|
||||
if (++i < 2) fn(x);
|
||||
|
||||
@@ -35,7 +35,7 @@ module.exports = function () {
|
||||
}
|
||||
};
|
||||
},
|
||||
"Delete": function (a) {
|
||||
Delete: function (a) {
|
||||
var i = 0, fn, mfn, x = {};
|
||||
|
||||
fn = function (a, b, c) {
|
||||
|
||||
Reference in New Issue
Block a user