UNPKG

@microsoft.azure/autorest.incubator

Version:
84 lines 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const text_manipulation_1 = require("../../../common/text-manipulation"); const statement_1 = require("../../../csharp/code-dom/statements/statement"); // gs01: fix this -- value should be an expresion. function Case(value, body, objectInitializer) { return new CaseStatement(value, body, objectInitializer); } exports.Case = Case; class CaseStatement extends statement_1.Statements { constructor(value, body, objectInitializer) { super(body); this.value = value; this.apply(objectInitializer); } get statementsImplementation() { return text_manipulation_1.indent(super.implementation); } get implementation() { return ` case ${this.value}: { ${this.statementsImplementation} ${text_manipulation_1.indent('break')}; }`.trim(); } } exports.CaseStatement = CaseStatement; function DefaultCase(body, objectInitializer) { return new DefaultCaseStatement(body, objectInitializer); } exports.DefaultCase = DefaultCase; class DefaultCaseStatement extends CaseStatement { constructor(body, objectInitializer) { super("", body); this.apply(objectInitializer); } get implementation() { return ` default: { ${this.statementsImplementation} ${text_manipulation_1.indent('break')}; }`.trim(); } } exports.DefaultCaseStatement = DefaultCaseStatement; function TerminalDefaultCase(body, objectInitializer) { return new TerminalDefaultCaseStatement(body, objectInitializer); } exports.TerminalDefaultCase = TerminalDefaultCase; class TerminalDefaultCaseStatement extends CaseStatement { constructor(body, objectInitializer) { super("", body); this.apply(objectInitializer); } get implementation() { return ` default: { ${this.statementsImplementation} }`.trim(); } } exports.TerminalDefaultCaseStatement = TerminalDefaultCaseStatement; function TerminalCase(value, body, objectInitializer) { return new TerminalCaseStatement(value, body, objectInitializer); } exports.TerminalCase = TerminalCase; class TerminalCaseStatement extends CaseStatement { constructor(value, body, objectInitializer) { super(value, body); this.apply(objectInitializer); } get implementation() { return ` case ${this.value}: { ${this.statementsImplementation} }`.trim(); } } exports.TerminalCaseStatement = TerminalCaseStatement; //# sourceMappingURL=case.js.map