refactor: update after change of linter

This commit is contained in:
Mariusz Nowak
2017-08-28 15:13:36 +02:00
parent 9b1d235a34
commit 3aa13c3070
35 changed files with 4632 additions and 1665 deletions

View File

@@ -1,3 +1,5 @@
/* eslint no-eq-null: 0, eqeqeq: 0, no-unused-vars: 0 */
"use strict";
var customError = require("es5-ext/error/custom")
@@ -5,16 +7,32 @@ var customError = require("es5-ext/error/custom")
, d = require("d")
, ee = require("event-emitter").methods
, resolveResolve = require("./resolve-resolve")
, resolveNormalize = require("./resolve-normalize")
, resolveNormalize = require("./resolve-normalize");
, apply = Function.prototype.apply, call = Function.prototype.call
, create = Object.create, hasOwnProperty = Object.prototype.hasOwnProperty
var apply = Function.prototype.apply
, call = Function.prototype.call
, create = Object.create
, defineProperties = Object.defineProperties
, on = ee.on, emit = ee.emit;
, on = ee.on
, emit = ee.emit;
module.exports = function (original, length, options) {
var cache = create(null), conf, memLength, get, set, del, clear, extDel,
extGet, extHas, normalizer, getListeners, setListeners, deleteListeners, memoized, resolve;
var cache = create(null)
, conf
, memLength
, get
, set
, del
, clear
, extDel
, extGet
, extHas
, normalizer
, getListeners
, setListeners
, deleteListeners
, memoized
, resolve;
if (length !== false) memLength = length;
else if (isNaN(original.length)) memLength = 1;
else memLength = original.length;
@@ -59,8 +77,8 @@ module.exports = function (original, length, options) {
if (getListeners) conf.emit("get", "data", arguments, this);
return cache.data;
}
if (!arguments.length) result = call.call(original, this);
else result = apply.call(original, this, arguments);
if (arguments.length) result = apply.call(original, this, arguments);
else result = call.call(original, this);
if (hasOwnProperty.call(cache, "data")) {
throw customError("Circular invocation", "CIRCULAR_INVOCATION");
}
@@ -97,8 +115,8 @@ module.exports = function (original, length, options) {
return String(args[0]);
},
has: function (id) {
return hasOwnProperty.call(cache, id);
},
return hasOwnProperty.call(cache, id);
},
delete: function (id) {
var result;
if (!hasOwnProperty.call(cache, id)) return;
@@ -121,8 +139,8 @@ module.exports = function (original, length, options) {
},
emit: emit,
updateEnv: function () {
original = conf.original;
}
original = conf.original;
}
};
if (get) {
extDel = defineLength(function (arg) {
@@ -134,8 +152,8 @@ module.exports = function (original, length, options) {
}, memLength);
} else if (length === 0) {
extDel = function () {
return conf.delete("data");
};
return conf.delete("data");
};
} else {
extDel = function (arg) {
if (resolve) arg = resolve(arguments)[0];

View File

@@ -9,13 +9,17 @@ var forEach = require("es5-ext/object/for-each")
module.exports = function (memoize) {
return function (props) {
forEach(props, function (desc, name) {
forEach(props, function (desc) {
var fn = callable(desc.value), length;
desc.value = function (options) {
if (options.getNormalizer) {
options = normalizeOpts(options);
if (length === undefined) {
length = resolveLength(options.length, fn.length, options.async && extensions.async);
length = resolveLength(
options.length,
fn.length,
options.async && extensions.async
);
}
options.normalizer = options.getNormalizer(length);
delete options.getNormalizer;

View File

@@ -1,21 +1,21 @@
"use strict";
var toArray = require("es5-ext/array/to-array")
, callable = require("es5-ext/object/valid-callable")
, isValue = require("es5-ext/object/is-value")
, callable = require("es5-ext/object/valid-callable");
, slice = Array.prototype.slice
, resolveArgs;
var slice = Array.prototype.slice, resolveArgs;
resolveArgs = function (args) {
return this.map(function (r, i) {
return r ? r(args[i]) : args[i];
return this.map(function (resolve, i) {
return resolve ? resolve(args[i]) : args[i];
}).concat(slice.call(args, this.length));
};
module.exports = function (resolvers) {
resolvers = toArray(resolvers);
resolvers.forEach(function (r) {
if (r != null) callable(r);
resolvers.forEach(function (resolve) {
if (isValue(resolve)) callable(resolve);
});
return resolveArgs.bind(resolvers);
};

View File

@@ -11,13 +11,12 @@ var customError = require("es5-ext/error/custom")
, resolveLength = require("./resolve-length")
, extensions = require("./registered-extensions")
, resolveResolve = require("./resolve-resolve")
, resolveNormalize = require("./resolve-normalize")
, resolveNormalize = require("./resolve-normalize");
, slice = Array.prototype.slice, defineProperties = Object.defineProperties
, hasOwnProperty = Object.prototype.hasOwnProperty;
var slice = Array.prototype.slice, defineProperties = Object.defineProperties;
module.exports = function (memoize) {
return function (fn/*, options*/) {
return function (fn /*, options*/) {
var map, length, options = normalizeOpts(arguments[1]), memoized, resolve, normalizer;
callable(fn);
@@ -32,80 +31,104 @@ module.exports = function (memoize) {
if (options.resolvers) resolve = resolveResolve(options.resolvers);
if (options.normalizer) normalizer = resolveNormalize(options.normalizer);
if ((length === 1) && !normalizer && !options.async && !options.dispose && !options.maxAge &&
!options.max && !options.refCounter) {
return defineProperties(function (obj) {
var result, args = arguments;
if (resolve) args = resolve(args);
obj = args[0];
if (map.has(obj)) return map.get(obj);
result = fn.apply(this, args);
if (map.has(obj)) throw customError("Circular invocation", "CIRCULAR_INVOCATION");
map.set(obj, result);
return result;
}, {
__memoized__: d(true),
delete: d(function (obj) {
if (resolve) obj = resolve(arguments)[0];
return map.delete(obj);
})
});
}
memoized = defineProperties(defineLength(function (obj) {
var memoizer, args = arguments;
if (resolve) {
args = resolve(args);
obj = args[0];
}
memoizer = map.get(obj);
if (!memoizer) {
if (normalizer) {
options = copy(options);
options.normalizer = copy(normalizer);
options.normalizer.get = partial.call(options.normalizer.get, obj);
options.normalizer.set = partial.call(options.normalizer.set, obj);
if (options.normalizer.delete) {
options.normalizer.delete = partial.call(options.normalizer.delete, obj);
if (
length === 1 &&
!normalizer &&
!options.async &&
!options.dispose &&
!options.maxAge &&
!options.max &&
!options.refCounter
) {
return defineProperties(
function (obj) {
var result, args = arguments;
if (resolve) args = resolve(args);
obj = args[0];
if (map.has(obj)) return map.get(obj);
result = fn.apply(this, args);
if (map.has(obj)) {
throw customError("Circular invocation", "CIRCULAR_INVOCATION");
}
map.set(obj, result);
return result;
},
{
__memoized__: d(true),
delete: d(function (obj) {
if (resolve) obj = resolve(arguments)[0];
return map.delete(obj);
})
}
map.set(obj, memoizer = memoize(partial.call(fn, obj), options));
}
return memoizer.apply(this, slice.call(args, 1));
}, length), {
__memoized__: d(true),
delete: d(defineLength(function (obj) {
);
}
memoized = defineProperties(
defineLength(function (obj) {
var memoizer, args = arguments;
if (resolve) {
args = resolve(args);
obj = args[0];
}
memoizer = map.get(obj);
if (!memoizer) return;
memoizer.delete.apply(this, slice.call(args, 1));
}, length))
});
if (!memoizer) {
if (normalizer) {
options = copy(options);
options.normalizer = copy(normalizer);
options.normalizer.get = partial.call(options.normalizer.get, obj);
options.normalizer.set = partial.call(options.normalizer.set, obj);
if (options.normalizer.delete) {
options.normalizer.delete = partial.call(
options.normalizer.delete,
obj
);
}
}
map.set(obj, memoizer = memoize(partial.call(fn, obj), options));
}
return memoizer.apply(this, slice.call(args, 1));
}, length),
{
__memoized__: d(true),
delete: d(
defineLength(function (obj) {
var memoizer, args = arguments;
if (resolve) {
args = resolve(args);
obj = args[0];
}
memoizer = map.get(obj);
if (!memoizer) return;
memoizer.delete.apply(this, slice.call(args, 1));
}, length)
)
}
);
if (!options.refCounter) return memoized;
defineProperties(memoized, {
deleteRef: d(defineLength(function (obj) {
var memoizer, args = arguments;
if (resolve) {
args = resolve(args);
obj = args[0];
}
memoizer = map.get(obj);
if (!memoizer) return null;
return memoizer.deleteRef.apply(this, slice.call(args, 1));
}, length)),
getRefCount: d(defineLength(function (obj) {
var memoizer, args = arguments;
if (resolve) {
args = resolve(args);
obj = args[0];
}
memoizer = map.get(obj);
if (!memoizer) return 0;
return memoizer.getRefCount.apply(this, slice.call(args, 1));
}, length))
deleteRef: d(
defineLength(function (obj) {
var memoizer, args = arguments;
if (resolve) {
args = resolve(args);
obj = args[0];
}
memoizer = map.get(obj);
if (!memoizer) return null;
return memoizer.deleteRef.apply(this, slice.call(args, 1));
}, length)
),
getRefCount: d(
defineLength(function (obj) {
var memoizer, args = arguments;
if (resolve) {
args = resolve(args);
obj = args[0];
}
memoizer = map.get(obj);
if (!memoizer) return 0;
return memoizer.getRefCount.apply(this, slice.call(args, 1));
}, length)
)
});
return memoized;
};