UNPKG

compound-ex4

Version:

Compound-ex4 - MVC framework for NodeJS (ExpressJs 4 version), fork compoundjs(https://github.com/1602/compound)

29 lines (26 loc) 910 B
'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); }; };