UNPKG

use-onion

Version:

在任意函数上使用洋葱模型

17 lines (16 loc) 494 B
export const ctx_arguments_prop_name = 'args' const toString = Object.prototype.toString; export default function defCtxArgs(ctx) { let _args = [] Object.defineProperty(ctx, ctx_arguments_prop_name, { get(){ return _args}, set(val){ let isArrOrArguments = Array.isArray(val) || toString.call(val)==='[object Arguments]'; val = isArrOrArguments ? val : [val] _args.length = 0 _args.push(...val) }, enumerable:false }) return ctx }