react-obsidian
Version:
Dependency injection framework for React and React Native applications
26 lines • 1.04 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const helpers_1 = require("../helpers");
function saveMethod(name, node) {
const decorator = (0, helpers_1.getDecoratorByName)(node.decorators, name);
if ((0, helpers_1.getDecoratorName)(decorator) === name) {
convertProviderParamsToDestructuringAssignment(node);
saveUnmangledMethodNameInProviderArguments(node, decorator);
}
}
function convertProviderParamsToDestructuringAssignment(node) {
if (node.params.length === 0) {
return;
}
const destructuredParams = (0, helpers_1.paramsToDestructuringAssignment)(node.params);
// eslint-disable-next-line no-param-reassign
node.params.length = 0;
node.params.push(destructuredParams);
}
function saveUnmangledMethodNameInProviderArguments(node, decorator) {
if ((0, helpers_1.providerIsNotNamed)(decorator)) {
(0, helpers_1.addNameToProviderArguments)(node, decorator);
}
}
exports.default = saveMethod;
//# sourceMappingURL=method.js.map
;