d11 theme
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

28 lines
586 B

'use strict'
module.exports = factory
var noop = Function.prototype
var own = {}.hasOwnProperty
// Handle values based on a property.
function factory(key, options) {
var settings = options || {}
function one(value) {
var fn = one.invalid
var handlers = one.handlers
if (value && own.call(value, key)) {
fn = own.call(handlers, value[key]) ? handlers[value[key]] : one.unknown
}
return (fn || noop).apply(this, arguments)
}
one.handlers = settings.handlers || {}
one.invalid = settings.invalid
one.unknown = settings.unknown
return one
}