• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

RobotWebTools / rclnodejs / 15205221837

23 May 2025 07:50AM UTC coverage: 84.784% (+0.08%) from 84.707%
15205221837

push

github

minggangw
Pump to 1.1.0 (#1147)

721 of 945 branches covered (76.3%)

Branch coverage included in aggregate %.

1792 of 2019 relevant lines covered (88.76%)

1139.11 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.94
/lib/node_options.js
1
//
2
// Licensed under the Apache License, Version 2.0 (the "License");
3
// you may not use this file except in compliance with the License.
4
// You may obtain a copy of the License at
5
//
6
//     http://www.apache.org/licenses/LICENSE-2.0
7
//
8
// Unless required by applicable law or agreed to in writing, software
9
// distributed under the License is distributed on an "AS IS" BASIS,
10
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
// See the License for the specific language governing permissions and
12
// limitations under the License.
13

14
'use strict';
15

16
const { Parameter } = require('./parameter.js');
78✔
17
/**
18
 * NodeOptions specify configuration choices during the
19
 * node instantiation process.
20
 * @class
21
 */
22
class NodeOptions {
23
  /**
24
   * Create a new instance with default property values.
25
   * @constructor
26
   * @param {boolean} [startParameterServices=true]
27
   * @param {array} [parameterOverrides=[]]
28
   * @param {boolean} [automaticallyDeclareParametersFromOverrides=false]
29
   * @param {boolean} [startTypeDescriptionService=true]
30
   */
31
  constructor(
32
    startParameterServices = true,
1,812✔
33
    parameterOverrides = [],
1,812✔
34
    automaticallyDeclareParametersFromOverrides = false,
1,812✔
35
    startTypeDescriptionService = true
1,815✔
36
  ) {
37
    this._startParameterServices = startParameterServices;
1,815✔
38
    this._parameterOverrides = parameterOverrides;
1,815✔
39
    this._automaticallyDeclareParametersFromOverrides =
1,815✔
40
      automaticallyDeclareParametersFromOverrides;
41
    this._startTypeDescriptionService = startTypeDescriptionService;
1,815✔
42
  }
43

44
  /**
45
   * Get the startParameterServices option.
46
   * Default value = true;
47
   * @returns {boolean} -
48
   */
49
  get startParameterServices() {
50
    return this._startParameterServices;
1,731✔
51
  }
52

53
  /**
54
   * Set startParameterServices.
55
   * @param {boolean} startFlag - True indicates for a node to start it's parameter_service.
56
   */
57
  set startParameterServices(startFlag) {
58
    this._startParameterServices = startFlag;
18✔
59
  }
60

61
  /**
62
   * Get the parameterOverrides.
63
   * @return {Parameter[]} - An array of Parameters that serve as overrides for a node's default
64
   *   parameters. Default = empty array [].
65
   */
66
  get parameterOverrides() {
67
    return this._parameterOverrides;
1,782✔
68
  }
69

70
  /**
71
   * Set the Parameters that will serve to override a node's default parameter settings.
72
   * Setting to null, reinitializes the parameterOverrides to an empty array.
73
   * @param {Parameter|Parameter[]} parameters - A single parameter or parameter[].
74
   *    Default is an empty array.
75
   */
76
  set parameterOverrides(parameters = []) {
×
77
    let povalue = parameters;
30✔
78

79
    if (!povalue) {
30✔
80
      povalue = [];
3✔
81
    } else if (povalue instanceof Parameter) {
27✔
82
      // a single parameter
83
      povalue = [povalue];
3✔
84
    } else if (!Array.isArray(parameters)) {
24✔
85
      throw TypeError('Expected Parameter[]');
3✔
86
    }
87

88
    this._parameterOverrides = povalue;
27✔
89
  }
90

91
  /**
92
   * Get the automaticallyDeclareParametersFromOverrides.
93
   *
94
   * @returns {boolean} - True indicates that a node should declare parameters from
95
   *    it's parameter-overrides
96
   */
97
  get automaticallyDeclareParametersFromOverrides() {
98
    return this._automaticallyDeclareParametersFromOverrides;
1,731✔
99
  }
100

101
  /**
102
   * Set automaticallyDeclareParametersFromOverrides.
103
   *
104
   * @param {boolean} declareParamsFlag - When true, a node will declare parameters from all
105
   * parameter-overrides.
106
   */
107
  set automaticallyDeclareParametersFromOverrides(declareParamsFlag) {
108
    this._automaticallyDeclareParametersFromOverrides = declareParamsFlag;
18✔
109
  }
110

111
  /**
112
   * Get the startTypeDescriptionService option, only available for ROS2 > Humble.
113
   * Default value = true;
114
   * @returns {boolean} - true if the type description service is enabled.
115
   */
116
  get startTypeDescriptionService() {
117
    return this._startTypeDescriptionService;
1,722✔
118
  }
119

120
  /**
121
   * Set startTypeDescriptionService, only available for ROS2 > Humble
122
   * @param {boolean} willStartTypeDescriptionService
123
   */
124
  set startTypeDescriptionService(willStartTypeDescriptionService) {
125
    this._startTypeDescriptionService = willStartTypeDescriptionService;
×
126
  }
127

128
  /**
129
   * Return an instance configured with default options.
130
   * @returns {NodeOptions} - An instance with default values.
131
   */
132
  static get defaultOptions() {
133
    return new NodeOptions();
1,785✔
134
  }
135
}
136

137
module.exports = NodeOptions;
78✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc