@microsoft.azure/autorest.incubator
Version:
AutoRest incubator project
25 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const text_manipulation_1 = require("../../common/text-manipulation");
const method_1 = require("./method");
const expression_1 = require("../../csharp/code-dom/expression");
class Constructor extends method_1.Method {
constructor(containingClass, objectIntializer) {
super(containingClass.name);
this.containingClass = containingClass;
this.apply(objectIntializer);
}
get declaration() {
const parameterDeclaration = this.parameters.joinWith(p => p.declaration, text_manipulation_1.CommaChar);
return `
${this.summaryDocumentation}
${this.parameterDocumentation}
${this.access} ${this.static} ${this.abstract} ${this.name}(${parameterDeclaration})
`.slim();
}
invoke(...parameters) {
return { value: `new ${this.containingClass.name}(${parameters.joinWith(each => expression_1.valueOf(each))})` };
}
}
exports.Constructor = Constructor;
//# sourceMappingURL=constructor.js.map