UNPKG

3.16 kBJavaScriptView Raw
1"use strict";
2/*
3 * Copyright © 2020 Atomist, Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17Object.defineProperty(exports, "__esModule", { value: true });
18exports.addValues = exports.addSecrets = exports.addMappedParameters = exports.addParameters = exports.ParametersBuilder = void 0;
19/**
20 * Fluent builder for command parameters. Similar to inquirer.js API.
21 */
22class ParametersBuilder {
23 constructor() {
24 this.parameters = [];
25 this.mappedParameters = [];
26 this.secrets = [];
27 this.values = [];
28 }
29 /**
30 * Declare a new parameter for a command
31 * @return {this}
32 */
33 addParameters(p, ...more) {
34 this.parameters.push(p);
35 this.parameters = this.parameters.concat(more);
36 return this;
37 }
38 /**
39 * Declare a new mapped parameter for a command
40 * @return {this}
41 */
42 addMappedParameters(mp, ...more) {
43 this.mappedParameters.push(mp);
44 this.mappedParameters = this.mappedParameters.concat(more);
45 return this;
46 }
47 /**
48 * Declare a new secret parameter for a command
49 * @return {this}
50 */
51 addSecrets(s, ...more) {
52 this.secrets.push(s);
53 this.secrets = this.secrets.concat(more);
54 return this;
55 }
56 /**
57 * Declare a new configuration value parameter for a command
58 * @return {this}
59 */
60 addValues(s, ...more) {
61 this.values.push(s);
62 this.values = this.values.concat(more);
63 return this;
64 }
65}
66exports.ParametersBuilder = ParametersBuilder;
67/**
68 * Declare a new parameter for the given command
69 * @return {ParametersBuilder}
70 */
71function addParameters(p, ...more) {
72 const pb = new ParametersBuilder();
73 pb.addParameters(p, ...more);
74 return pb;
75}
76exports.addParameters = addParameters;
77/**
78 * Declare a new mapped parameter for the given command
79 * @return {ParametersBuilder}
80 */
81function addMappedParameters(p, ...more) {
82 const pb = new ParametersBuilder();
83 pb.addMappedParameters(p, ...more);
84 return pb;
85}
86exports.addMappedParameters = addMappedParameters;
87/**
88 * Declare a new secret parameter for the given command
89 * @return {ParametersBuilder}
90 */
91function addSecrets(s, ...more) {
92 const pb = new ParametersBuilder();
93 pb.addSecrets(s, ...more);
94 return pb;
95}
96exports.addSecrets = addSecrets;
97/**
98 * Declare a new configuration value parameter for the given command
99 * @return {ParametersBuilder}
100 */
101function addValues(s, ...more) {
102 const pb = new ParametersBuilder();
103 pb.addValues(s, ...more);
104 return pb;
105}
106exports.addValues = addValues;
107//# sourceMappingURL=ParametersBuilder.js.map
\No newline at end of file