UNPKG

1.01 kBSource Map (JSON)View Raw
1{"version":3,"file":"mixin.js","sourceRoot":"","sources":["src/mixin.ts"],"names":[],"mappings":";;AAAA,sCAAyC;AAEzC;;;;;;;;;;;;;;;;;GAiBG;AACH;IAAsB,cAAiB;SAAjB,UAAiB,EAAjB,qBAAiB,EAAjB,IAAiB;QAAjB,yBAAiB;;IACrC,MAAM,CAAC,CAAC,UAAC,MAAgB;QACvB,MAAM,gBAAC,MAAM,CAAC,SAAS,SAAK,IAAI,GAAE;QAElC,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAQ,CAAC;AACZ,CAAC;AAND,sBAMC;AACiB,sBAAK;AACvB,kBAAe,KAAK,CAAC","sourcesContent":["import assign = require('lodash/assign');\n\n/**\n * Mixins an object into the classes prototype.\n * @export\n * @param {...Object[]} srcs\n * @returns {ClassDecorator}\n * @example\n *\n * const myMixin = {\n * blorg: () => 'blorg!'\n * }\n *\n * @Mixin(myMixin)\n * class MyClass {}\n *\n * const myClass = new MyClass();\n *\n * myClass.blorg(); // => 'blorg!'\n */\nexport function Mixin(...srcs: Object[]): ClassDecorator {\n return ((target: Function) => {\n assign(target.prototype, ...srcs);\n\n return target;\n }) as any;\n}\nexport { Mixin as mixin };\nexport default Mixin;\n"]}
\No newline at end of file