UNPKG

2.99 kBSource Map (JSON)View Raw
1{"version":3,"sources":["decorator/can.decorator.ts"],"names":[],"mappings":";;AAAA,4BAA0B;AAEb,QAAA,wBAAwB,GAAG,+BAA+B,CAAC;AAC3D,QAAA,yBAAyB,GAAG,gCAAgC,CAAC;AAE1E,aAAoB,KAAoB,EAAE,OAAqB,KAAK;IAChE,OAAO,CAAC,MAAW,EAAE,GAAI,EAAE,UAAW,EAAE,EAAE;QACtC,IAAI,UAAU,EAAE;YACZ,MAAM,OAAO,GAAkB,OAAO,CAAC,WAAW,CAAC,gCAAwB,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACrG,MAAM,QAAQ,GAAkB,OAAO,CAAC,WAAW,CAAC,iCAAyB,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvG,IAAI,IAAI,KAAK,IAAI,EAAE;gBACf,OAAO,CAAC,cAAc,CAAC,gCAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;aAC7F;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE;gBACvB,OAAO,CAAC,cAAc,CAAC,iCAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;aAC/F;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;aAChC;YACD,OAAO,UAAU,CAAC;SACrB;QACD,MAAM,OAAO,GAAkB,OAAO,CAAC,WAAW,CAAC,gCAAwB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3F,MAAM,QAAQ,GAAkB,OAAO,CAAC,WAAW,CAAC,iCAAyB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7F,IAAI,IAAI,KAAK,IAAI,EAAE;YACf,OAAO,CAAC,cAAc,CAAC,gCAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;SACnF;aAAM,IAAI,IAAI,KAAK,KAAK,EAAE;YACvB,OAAO,CAAC,cAAc,CAAC,iCAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;SACrF;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;SAChC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC;AAzBD,kBAyBC","file":"can.decorator.js","sourcesContent":["import \"reflect-metadata\";\n\nexport const PERMISSION_CONTROLLER_OR = \"user:permission_controller_or\";\nexport const PERMISSION_CONTROLLER_AND = \"user:permission_controller_and\";\n\nexport function Can(names: Array<string>, mode: \"or\" | \"and\" = \"and\"): ClassDecorator & MethodDecorator {\n return (target: any, key?, descriptor?) => {\n if (descriptor) {\n const orExist: Array<string> = Reflect.getMetadata(PERMISSION_CONTROLLER_OR, descriptor.value) || [];\n const andExist: Array<string> = Reflect.getMetadata(PERMISSION_CONTROLLER_AND, descriptor.value) || [];\n if (mode === \"or\") {\n Reflect.defineMetadata(PERMISSION_CONTROLLER_OR, names.concat(orExist), descriptor.value);\n } else if (mode === \"and\") {\n Reflect.defineMetadata(PERMISSION_CONTROLLER_AND, names.concat(andExist), descriptor.value);\n } else {\n throw new Error(\"mode参数不正确\");\n }\n return descriptor;\n }\n const orExist: Array<string> = Reflect.getMetadata(PERMISSION_CONTROLLER_OR, target) || [];\n const andExist: Array<string> = Reflect.getMetadata(PERMISSION_CONTROLLER_AND, target) || [];\n if (mode === \"or\") {\n Reflect.defineMetadata(PERMISSION_CONTROLLER_OR, names.concat(orExist), target);\n } else if (mode === \"and\") {\n Reflect.defineMetadata(PERMISSION_CONTROLLER_AND, names.concat(andExist), target);\n } else {\n throw new Error(\"mode参数不正确\");\n }\n return target;\n };\n}\n"]}
\No newline at end of file