Description
The examples of how to add a custom uuid function dynamicDefaults wrap uuid.v4()
. However, I'd expect to be able to use either just uuid
(which calls uuid.v4
) or uuid.v4
itself, without a function uuidv4()
wrapper.
It seems that the code in dynamicDefaults uses `func.length figure out if the value of the custom dynamicDefault should be called with arguments.
funcs[key] = func.length ? func(d.args) : func;
(I didn't know this, but In javascript, Function.length is the number of arguments.)
> uuid = require('uuid');
{ [Function: v4] v1: [Function: v1], v4: [Circular] }
> uuid.length
3
I guess func.length
is being used to figure out if arguments should be passed to the func as defined in the schema via {func: "uuid", args }
, but perhaps a better way would be to just check if args
is defined?
It'd be nice if I didn't have to make a wrapper for functions that have default parameters.