Sha256: abd560cd8dafcc0e299d0b4b9225a5ac829371b9cfc8aadcc87aa5f7e905cd5e
Contents?: true
Size: 910 Bytes
Versions: 14
Compression:
Stored size: 910 Bytes
Contents
'use strict'; var forEach = require('es5-ext/object/for-each') , normalizeOpts = require('es5-ext/object/normalize-options') , callable = require('es5-ext/object/valid-callable') , lazy = require('d/lazy') , resolveLength = require('./resolve-length') , extensions = require('./registered-extensions'); module.exports = function (memoize) { return function (props) { forEach(props, function (desc, name) { 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); } options.normalizer = options.getNormalizer(length); delete options.getNormalizer; } return memoize(fn.bind(this), options); }; }); return lazy(props); }; };
Version data entries
14 entries across 7 versions & 1 rubygems