{"version":3,"file":"DecoratorConfig.js","sourceRoot":"","sources":["../src/factory/DecoratorConfig.ts"],"names":[],"mappings":";;AAWA;IACE,yBACkB,OAAiB,EACjB,UAAsB,EACtB,OAAoC;QAApC,wBAAA,EAAA,YAAoC;QAFpC,YAAO,GAAP,OAAO,CAAU;QACjB,eAAU,GAAV,UAAU,CAAY;QACtB,YAAO,GAAP,OAAO,CAA6B;IACnD,CAAC;IAEJ,sBAAI,kCAAK;aAAT;YACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACjE,CAAC;;;OAAA;IAED,sBAAI,mCAAM;aAAV;YACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QACnE,CAAC;;;OAAA;IAED,sBAAI,mCAAM;aAAV;YACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QACnE,CAAC;;;OAAA;IAED,sBAAI,qCAAQ;aAAZ;YACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvE,CAAC;;;OAAA;IAED,sBAAI,mCAAM;aAAV;YACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAClE,CAAC;;;OAAA;IAED,sBAAI,2CAAc;aAAlB;YACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;QACnF,CAAC;;;OAAA;IACH,sBAAC;AAAD,CAAC,AA9BD,IA8BC;AA9BY,0CAAe","sourcesContent":["import { Applicator } from '../applicators';\n\nexport interface DecoratorConfigOptions {\n  bound?: boolean;\n  setter?: boolean;\n  getter?: boolean;\n  property?: boolean;\n  method?: boolean;\n  optionalParams?: boolean;\n}\n\nexport class DecoratorConfig {\n  constructor(\n    public readonly execute: Function,\n    public readonly applicator: Applicator,\n    public readonly options: DecoratorConfigOptions = {}\n  ) {}\n\n  get bound(): boolean {\n    return this.options.bound != null ? this.options.bound : false;\n  }\n\n  get setter(): boolean {\n    return this.options.setter != null ? this.options.setter : false;\n  }\n\n  get getter(): boolean {\n    return this.options.getter != null ? this.options.getter : false;\n  }\n\n  get property(): boolean {\n    return this.options.property != null ? this.options.property : false;\n  }\n\n  get method(): boolean {\n    return this.options.method != null ? this.options.method : true;\n  }\n\n  get optionalParams(): boolean {\n    return this.options.optionalParams != null ? this.options.optionalParams : false;\n  }\n}\n"]}