26 lines
640 B
JavaScript
26 lines
640 B
JavaScript
|
|
// node_modules/zwitch/index.js
|
||
|
|
var own = {}.hasOwnProperty;
|
||
|
|
function zwitch(key, options) {
|
||
|
|
const settings = options || {};
|
||
|
|
function one(value, ...parameters) {
|
||
|
|
let fn = one.invalid;
|
||
|
|
const handlers = one.handlers;
|
||
|
|
if (value && own.call(value, key)) {
|
||
|
|
const id = String(value[key]);
|
||
|
|
fn = own.call(handlers, id) ? handlers[id] : one.unknown;
|
||
|
|
}
|
||
|
|
if (fn) {
|
||
|
|
return fn.call(this, value, ...parameters);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
one.handlers = settings.handlers || {};
|
||
|
|
one.invalid = settings.invalid;
|
||
|
|
one.unknown = settings.unknown;
|
||
|
|
return one;
|
||
|
|
}
|
||
|
|
|
||
|
|
export {
|
||
|
|
zwitch
|
||
|
|
};
|
||
|
|
//# sourceMappingURL=chunk-L3M7MDWL.js.map
|