cached - bhsd-harry/wikiparser-node GitHub Wiki

This is an internal document. For visitors, you can now go back to the home page.

// cached (Node.js)
var {cached} = require('../mixin/cached');
var obj = {
	x: 0,
	f() {
		return this.x++;
	},
};
obj.g = cached()(obj.f).bind(obj);
obj.h = cached(false)(obj.f).bind(obj);
assert.strictEqual(obj.g(), 0);
assert.strictEqual(obj.f(), 1);
assert.strictEqual(obj.g(), 0);
Parser.viewOnly = true;
assert.strictEqual(obj.h(), 2);
Parser.viewOnly = false;
Parser.viewOnly = true;
assert.strictEqual(obj.h(), 3);
assert.strictEqual(obj.h(), 3);