iproutejs 2.3.2 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -181,6 +181,57 @@ Both of these calls are valid:
181
181
 
182
182
  A **PR** is more than welcome.
183
183
 
184
+ ## Error Handling
185
+
186
+ All write operations (`add`, `del`, `set`, …) throw a `CommandError` when the underlying `ip` command writes to stderr.
187
+ The error has two useful properties:
188
+
189
+ | Property | Type | Description |
190
+ |----------|------|-------------|
191
+ | `message` | `string` | Raw stderr text from the `ip` command |
192
+ | `code` | `string` | Typed reason code — see `CommandErrorCodes` |
193
+ | `cmd` | `string` | Full command line that was executed |
194
+
195
+ Import the constants to avoid magic strings in your catch blocks:
196
+
197
+ ```typescript
198
+ import { address, CommandError, CommandErrorCodes } from 'iproutejs';
199
+
200
+ try {
201
+ await address.add({ local: '192.168.1.1/24', dev: 'eth0', sudo: true });
202
+ } catch (err) {
203
+ if (err instanceof CommandError) {
204
+ switch (err.code) {
205
+ case CommandErrorCodes.ALREADY_EXISTS:
206
+ // iproute2: "RTNETLINK answers: File exists"
207
+ // or newer: "Error: ipv4: Address already assigned."
208
+ console.log('Address already configured — skipping');
209
+ break;
210
+ case CommandErrorCodes.NO_DEVICE:
211
+ // iproute2: "Cannot find device\"eth0\""
212
+ throw new Error(`Network device not found: ${err.message}`);
213
+ case CommandErrorCodes.NOT_FOUND:
214
+ // iproute2: "RTNETLINK answers: No such process"
215
+ console.log('Object does not exist — nothing to remove');
216
+ break;
217
+ default:
218
+ throw err; // ERR_COMMAND_ERRORED — unexpected error
219
+ }
220
+ } else {
221
+ throw err;
222
+ }
223
+ }
224
+ ```
225
+
226
+ ### Available `CommandErrorCodes`
227
+
228
+ | Code | Triggers on |
229
+ |------|-------------|
230
+ | `ERR_ALREADY_EXISTS` | `File exists` \| `Address already assigned` |
231
+ | `ERR_NO_DEVICE` | `No such device` \| `Cannot find device` |
232
+ | `ERR_NOT_FOUND` | `No such process` |
233
+ | `ERR_COMMAND_ERRORED` | any other stderr output (fallback) |
234
+
184
235
  ## Issues
185
236
 
186
237
  The source code can be accessed on [GitHub](https://github.com/jakguel/iproutejs).
@@ -12,13 +12,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const util_1 = require("util");
16
- const child_process_1 = require("child_process");
15
+ const exec_command_1 = require("../exec-command");
17
16
  const schemas_1 = require("../constants/schemas");
18
17
  const command_1 = require("../errors/command");
19
18
  const command_2 = __importDefault(require("./command"));
20
19
  const misc_1 = require("../misc");
21
- const promisifiedExec = (0, util_1.promisify)(child_process_1.exec);
22
20
  class CommandWithFilepath extends command_2.default {
23
21
  constructor(schemaId, schema, options, globalOptions, ipCmd) {
24
22
  super(schemaId, schema, options, globalOptions, ipCmd);
@@ -40,7 +38,7 @@ class CommandWithFilepath extends command_2.default {
40
38
  if (this.globalOptions.dryRun) {
41
39
  return this;
42
40
  }
43
- const { stderr } = yield promisifiedExec(this._cmdToExec);
41
+ const { stderr } = yield (0, exec_command_1.execCommand)(this._cmdToExec);
44
42
  if (!stderr) {
45
43
  return this;
46
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-with-filepath.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-filepath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,+BAAiC;AACjC,iDAAqC;AAErC,kDAA6E;AAC7E,+CAAiD;AAEjD,wDAAgC;AAChC,kCAAmC;AAEnC,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAExC,MAAqB,mBAElB,SAAQ,iBAAyB;IAElC,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAAgD,EAChD,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAmC;QAChD,UAAK,GAAL,KAAK,CAAU;QAQnC,IAAA,eAAQ,EAAoC,mBAAS,CAAC,oBAAoB,EAAE,oCAA0B,EAAE,aAAa,CAAC,CAAC;QACvH,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEkB,QAAQ;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,GAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,aAAa,CAAC,QAAS,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAI,CAAC;aACb;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAzCD,sCAyCC"}
1
+ {"version":3,"file":"command-with-filepath.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-filepath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA8C;AAG9C,kDAA6E;AAC7E,+CAAiD;AAEjD,wDAAgC;AAChC,kCAAmC;AAGnC,MAAqB,mBAElB,SAAQ,iBAAyB;IAElC,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAAgD,EAChD,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAmC;QAChD,UAAK,GAAL,KAAK,CAAU;QAQnC,IAAA,eAAQ,EAAoC,mBAAS,CAAC,oBAAoB,EAAE,oCAA0B,EAAE,aAAa,CAAC,CAAC;QACvH,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEkB,QAAQ;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,GAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,aAAa,CAAC,QAAS,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,0BAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAI,CAAC;aACb;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAzCD,sCAyCC"}
@@ -12,12 +12,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const util_1 = require("util");
16
- const child_process_1 = require("child_process");
15
+ const exec_command_1 = require("../exec-command");
17
16
  const command_1 = require("../errors/command");
18
17
  const command_with_redirect_from_filepath_1 = __importDefault(require("./command-with-redirect-from-filepath"));
19
18
  const parse_output_1 = require("../parse-output");
20
- const promisifiedExec = (0, util_1.promisify)(child_process_1.exec);
21
19
  class CommandWithRedirectFromFilepathAndReturnedData extends command_with_redirect_from_filepath_1.default {
22
20
  constructor(schemaId, schema, options, globalOptions, ipCmd) {
23
21
  super(schemaId, schema, options, globalOptions, ipCmd);
@@ -32,7 +30,7 @@ class CommandWithRedirectFromFilepathAndReturnedData extends command_with_redire
32
30
  if (this.globalOptions.dryRun) {
33
31
  return this;
34
32
  }
35
- const { stderr, stdout } = yield promisifiedExec(this._cmdToExec);
33
+ const { stderr, stdout } = yield (0, exec_command_1.execCommand)(this._cmdToExec);
36
34
  if (!stderr) {
37
35
  return (0, parse_output_1.parseCommandOutput)(stdout);
38
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-with-redirect-from-filepath-and-returned-data.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-redirect-from-filepath-and-returned-data.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,+BAAsC;AACtC,iDAA+C;AAG/C,+CAAsE;AAEtE,gHAA0F;AAC1F,kDAAoE;AAEpE,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAExC,MAAqB,8CAElB,SAAQ,6CAAiD;IAE1D,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAAgD,EAChD,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAmC;QAChD,UAAK,GAAL,KAAK,CAAU;IAOrC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EACE,MAAM,EACN,MAAM,EACP,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAA,iCAAkB,EAAe,MAAM,CAAC,CAAC;aACjD;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAlCD,iEAkCC"}
1
+ {"version":3,"file":"command-with-redirect-from-filepath-and-returned-data.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-redirect-from-filepath-and-returned-data.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA8C;AAI9C,+CAAsE;AAEtE,gHAA0F;AAC1F,kDAAoE;AAGpE,MAAqB,8CAElB,SAAQ,6CAAiD;IAE1D,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAAgD,EAChD,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAmC;QAChD,UAAK,GAAL,KAAK,CAAU;IAOrC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EACE,MAAM,EACN,MAAM,EACP,GAAG,MAAM,IAAA,0BAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAA,iCAAkB,EAAe,MAAM,CAAC,CAAC;aACjD;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAlCD,iEAkCC"}
@@ -12,13 +12,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const util_1 = require("util");
16
- const child_process_1 = require("child_process");
15
+ const exec_command_1 = require("../exec-command");
17
16
  const schemas_1 = require("../constants/schemas");
18
17
  const command_1 = require("../errors/command");
19
18
  const command_2 = __importDefault(require("./command"));
20
19
  const misc_1 = require("../misc");
21
- const promisifiedExec = (0, util_1.promisify)(child_process_1.exec);
22
20
  class CommandWithRedirectFromFilepath extends command_2.default {
23
21
  constructor(schemaId, schema, options, globalOptions, ipCmd) {
24
22
  super(schemaId, schema, options, globalOptions, ipCmd);
@@ -40,7 +38,7 @@ class CommandWithRedirectFromFilepath extends command_2.default {
40
38
  if (this.globalOptions.dryRun) {
41
39
  return this;
42
40
  }
43
- const { stderr } = yield promisifiedExec(this._cmdToExec);
41
+ const { stderr } = yield (0, exec_command_1.execCommand)(this._cmdToExec);
44
42
  if (!stderr) {
45
43
  return this;
46
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-with-redirect-from-filepath.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-redirect-from-filepath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,+BAAsC;AACtC,iDAA+C;AAE/C,kDAA6E;AAC7E,+CAA0E;AAE1E,wDAAkE;AAClE,kCAAgE;AAEhE,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAExC,MAAqB,+BAAoF,SAAQ,iBAAyB;IACxI,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAAgD,EAChD,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAmC;QAChD,UAAK,GAAL,KAAK,CAAU;QAQnC,IAAA,eAAQ,EAAoC,mBAAS,CAAC,oBAAoB,EAAE,oCAA0B,EAAE,aAAa,CAAC,CAAC;QAEvH,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEkB,QAAQ;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,GAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAE,GAAG,EAAE,GAAI,IAAI,CAAC,aAAa,CAAC,QAAS,EAAE,CAAE,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAI,CAAC;aACb;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAvCD,kDAuCC"}
1
+ {"version":3,"file":"command-with-redirect-from-filepath.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-redirect-from-filepath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA8C;AAG9C,kDAA6E;AAC7E,+CAA0E;AAE1E,wDAAkE;AAClE,kCAAgE;AAGhE,MAAqB,+BAAoF,SAAQ,iBAAyB;IACxI,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAAgD,EAChD,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAmC;QAChD,UAAK,GAAL,KAAK,CAAU;QAQnC,IAAA,eAAQ,EAAoC,mBAAS,CAAC,oBAAoB,EAAE,oCAA0B,EAAE,aAAa,CAAC,CAAC;QAEvH,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEkB,QAAQ;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,GAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAE,GAAG,EAAE,GAAI,IAAI,CAAC,aAAa,CAAC,QAAS,EAAE,CAAE,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,0BAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAI,CAAC;aACb;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAvCD,kDAuCC"}
@@ -12,13 +12,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const util_1 = require("util");
16
- const child_process_1 = require("child_process");
15
+ const exec_command_1 = require("../exec-command");
17
16
  const schemas_1 = require("../constants/schemas");
18
17
  const command_1 = require("../errors/command");
19
18
  const command_2 = __importDefault(require("./command"));
20
19
  const misc_1 = require("../misc");
21
- const promisifiedExec = (0, util_1.promisify)(child_process_1.exec);
22
20
  class CommandWithRedirectToFilepath extends command_2.default {
23
21
  constructor(schemaId, schema, options, globalOptions, ipCmd) {
24
22
  super(schemaId, schema, options, globalOptions, ipCmd);
@@ -40,7 +38,7 @@ class CommandWithRedirectToFilepath extends command_2.default {
40
38
  if (this.globalOptions.dryRun) {
41
39
  return this;
42
40
  }
43
- const { stderr } = yield promisifiedExec(this._cmdToExec);
41
+ const { stderr } = yield (0, exec_command_1.execCommand)(this._cmdToExec);
44
42
  if (!stderr) {
45
43
  return this;
46
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-with-redirect-to-filepath.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-redirect-to-filepath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,+BAAsC;AACtC,iDAA+C;AAE/C,kDAA6E;AAC7E,+CAA0E;AAE1E,wDAAkE;AAClE,kCAAgE;AAEhE,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAExC,MAAqB,6BAAkF,SAAQ,iBAAyB;IACtI,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAAgD,EAChD,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAmC;QAChD,UAAK,GAAL,KAAK,CAAU;QAQnC,IAAA,eAAQ,EAAoC,mBAAS,CAAC,oBAAoB,EAAE,oCAA0B,EAAE,aAAa,CAAC,CAAC;QACvH,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEkB,QAAQ;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,GAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAE,GAAG,EAAE,GAAI,IAAI,CAAC,aAAa,CAAC,QAAS,EAAE,CAAE,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAI,CAAC;aACb;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAtCD,gDAsCC"}
1
+ {"version":3,"file":"command-with-redirect-to-filepath.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-redirect-to-filepath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA8C;AAG9C,kDAA6E;AAC7E,+CAA0E;AAE1E,wDAAkE;AAClE,kCAAgE;AAGhE,MAAqB,6BAAkF,SAAQ,iBAAyB;IACtI,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAAgD,EAChD,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAmC;QAChD,UAAK,GAAL,KAAK,CAAU;QAQnC,IAAA,eAAQ,EAAoC,mBAAS,CAAC,oBAAoB,EAAE,oCAA0B,EAAE,aAAa,CAAC,CAAC;QACvH,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEkB,QAAQ;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,GAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAE,GAAG,EAAE,GAAI,IAAI,CAAC,aAAa,CAAC,QAAS,EAAE,CAAE,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,0BAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAI,CAAC;aACb;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAtCD,gDAsCC"}
@@ -12,12 +12,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const util_1 = require("util");
16
- const child_process_1 = require("child_process");
15
+ const exec_command_1 = require("../exec-command");
17
16
  const command_1 = require("../errors/command");
18
17
  const command_2 = __importDefault(require("./command"));
19
18
  const parse_output_1 = require("../parse-output");
20
- const promisifiedExec = (0, util_1.promisify)(child_process_1.exec);
21
19
  class CommandWithReturnedData extends command_2.default {
22
20
  constructor(schemaId, schema, options, globalOptions, ipCmd) {
23
21
  super(schemaId, schema, options, globalOptions, ipCmd);
@@ -32,7 +30,7 @@ class CommandWithReturnedData extends command_2.default {
32
30
  if (this.globalOptions.dryRun) {
33
31
  return this;
34
32
  }
35
- const { stderr, stdout } = yield promisifiedExec(this._cmdToExec);
33
+ const { stderr, stdout } = yield (0, exec_command_1.execCommand)(this._cmdToExec);
36
34
  if (!stderr) {
37
35
  return (0, parse_output_1.parseCommandOutput)(stdout);
38
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-with-returned-data.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-returned-data.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,+BAAsC;AACtC,iDAA+C;AAG/C,+CAAkD;AAElD,wDAA0C;AAC1C,kDAAqD;AAErD,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAExC,MAAqB,uBAA4E,SAAQ,iBAAyB;IAChI,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAA4B,EAC5B,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAU;IAOrC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EACE,MAAM,EACN,MAAM,EACP,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAA,iCAAkB,EAAe,MAAM,CAAC,CAAC;aACjD;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AA/BD,0CA+BC"}
1
+ {"version":3,"file":"command-with-returned-data.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-returned-data.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,kDAA8C;AAG9C,+CAAkD;AAElD,wDAA0C;AAC1C,kDAAqD;AAErD,MAAqB,uBAA4E,SAAQ,iBAAyB;IAChI,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAA4B,EAC5B,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAU;IAOrC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,0BAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE9D,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAA,iCAAkB,EAAe,MAAM,CAAC,CAAC;aACjD;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AA5BD,0CA4BC"}
@@ -12,13 +12,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const util_1 = require("util");
16
- const child_process_1 = require("child_process");
15
+ const exec_command_1 = require("../exec-command");
17
16
  const schemas_1 = require("../constants/schemas");
18
17
  const command_1 = require("../errors/command");
19
18
  const command_2 = __importDefault(require("./command"));
20
19
  const misc_1 = require("../misc");
21
- const promisifiedExec = (0, util_1.promisify)(child_process_1.exec);
22
20
  class CommandWithStdin extends command_2.default {
23
21
  constructor(schemaId, schema, options, globalOptions, ipCmd) {
24
22
  super(schemaId, schema, options, globalOptions, ipCmd);
@@ -40,7 +38,7 @@ class CommandWithStdin extends command_2.default {
40
38
  if (this.globalOptions.dryRun) {
41
39
  return this;
42
40
  }
43
- const { stderr } = yield promisifiedExec(this._cmdToExec);
41
+ const { stderr } = yield (0, exec_command_1.execCommand)(this._cmdToExec);
44
42
  if (!stderr) {
45
43
  return this;
46
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-with-stdin.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-stdin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,+BAAiC;AACjC,iDAAqC;AAErC,kDAA0E;AAC1E,+CAAiD;AAEjD,wDAAgC;AAChC,kCAAmC;AAEnC,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAExC,MAAqB,gBAElB,SAAQ,iBAAyB;IAClC,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAA6C,EAC7C,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAgC;QAC7C,UAAK,GAAL,KAAK,CAAU;QAQnC,IAAA,eAAQ,EAAiC,mBAAS,CAAC,iBAAiB,EAAE,iCAAuB,EAAE,aAAa,CAAC,CAAC;QAE9G,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEkB,QAAQ;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,GAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAI,IAAI,CAAC,aAAa,CAAC,KAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAI,CAAC;aACb;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAzCD,mCAyCC"}
1
+ {"version":3,"file":"command-with-stdin.js","sourceRoot":"","sources":["../../../src/common/classes/command-with-stdin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA8C;AAG9C,kDAA0E;AAC1E,+CAAiD;AAEjD,wDAAgC;AAChC,kCAAmC;AAGnC,MAAqB,gBAElB,SAAQ,iBAAyB;IAClC,YAAsB,QAAmB,EACnB,MAAwC,EACxC,OAAyB,EACzB,aAA6C,EAC7C,KAAe;QAEnC,KAAK,CAAC,QAAQ,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,KAAK,CAAC,CAAC;QAVW,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAkC;QACxC,YAAO,GAAP,OAAO,CAAkB;QACzB,kBAAa,GAAb,aAAa,CAAgC;QAC7C,UAAK,GAAL,KAAK,CAAU;QAQnC,IAAA,eAAQ,EAAiC,mBAAS,CAAC,iBAAiB,EAAE,iCAAuB,EAAE,aAAa,CAAC,CAAC;QAE9G,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEkB,QAAQ;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,GAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAI,IAAI,CAAC,aAAa,CAAC,KAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEc,IAAI;;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,0BAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAI,CAAC;aACb;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,sBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;KAAA;CACF;AAzCD,mCAyCC"}
@@ -12,13 +12,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ const exec_command_1 = require("../exec-command");
15
16
  const lodash_isplainobject_1 = __importDefault(require("lodash.isplainobject"));
16
- const util_1 = require("util");
17
- const child_process_1 = require("child_process");
18
17
  const schemas_1 = require("../constants/schemas");
19
18
  const command_1 = require("../errors/command");
20
19
  const misc_1 = require("../misc");
21
- const promisifiedExec = (0, util_1.promisify)(child_process_1.exec);
22
20
  /**
23
21
  * Class to group common behavior among commands.
24
22
  *
@@ -131,7 +129,7 @@ class Command {
131
129
  if (this.globalOptions.dryRun) {
132
130
  return this;
133
131
  }
134
- const { stderr } = yield promisifiedExec(this._cmdToExec);
132
+ const { stderr } = yield (0, exec_command_1.execCommand)(this._cmdToExec);
135
133
  if (!stderr) {
136
134
  return this;
137
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/common/classes/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/common/classes/command.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,23 @@
1
+ /**
2
+ * Known reason codes for {@link CommandError}.
3
+ * @category Errors
4
+ */
5
+ export declare const CommandErrorCodes: {
6
+ /** Address or route already exists (iproute2: "File exists" or "Address already assigned"). */
7
+ readonly ALREADY_EXISTS: "ERR_ALREADY_EXISTS";
8
+ /** Network device not found (iproute2: "No such device" or "Cannot find device"). */
9
+ readonly NO_DEVICE: "ERR_NO_DEVICE";
10
+ /** Object not found (iproute2: "No such process"). */
11
+ readonly NOT_FOUND: "ERR_NOT_FOUND";
12
+ /** Generic fallback — stderr did not match any known pattern. */
13
+ readonly COMMAND_ERRORED: "ERR_COMMAND_ERRORED";
14
+ };
1
15
  /**
2
16
  * Error class to be used when the command throws an error.
3
17
  * @category Errors
4
18
  */
5
19
  export declare class CommandError extends Error {
6
- /** Code to identify the error in `catch` clauses. */
20
+ /** Code to identify the error in `catch` clauses. See {@link CommandErrorCodes}. */
7
21
  code: string;
8
22
  /** Command line that triggered the command error. */
9
23
  cmd: string;
@@ -1,6 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommandError = void 0;
3
+ exports.CommandError = exports.CommandErrorCodes = void 0;
4
+ /**
5
+ * Known reason codes for {@link CommandError}.
6
+ * @category Errors
7
+ */
8
+ exports.CommandErrorCodes = {
9
+ /** Address or route already exists (iproute2: "File exists" or "Address already assigned"). */
10
+ ALREADY_EXISTS: 'ERR_ALREADY_EXISTS',
11
+ /** Network device not found (iproute2: "No such device" or "Cannot find device"). */
12
+ NO_DEVICE: 'ERR_NO_DEVICE',
13
+ /** Object not found (iproute2: "No such process"). */
14
+ NOT_FOUND: 'ERR_NOT_FOUND',
15
+ /** Generic fallback — stderr did not match any known pattern. */
16
+ COMMAND_ERRORED: 'ERR_COMMAND_ERRORED',
17
+ };
18
+ function deriveCode(message) {
19
+ if (message.includes('File exists') || message.includes('Address already assigned')) {
20
+ return exports.CommandErrorCodes.ALREADY_EXISTS;
21
+ }
22
+ if (message.includes('No such device') || message.includes('Cannot find device')) {
23
+ return exports.CommandErrorCodes.NO_DEVICE;
24
+ }
25
+ if (message.includes('No such process')) {
26
+ return exports.CommandErrorCodes.NOT_FOUND;
27
+ }
28
+ return exports.CommandErrorCodes.COMMAND_ERRORED;
29
+ }
4
30
  /**
5
31
  * Error class to be used when the command throws an error.
6
32
  * @category Errors
@@ -9,11 +35,10 @@ class CommandError extends Error {
9
35
  constructor(message, cmd) {
10
36
  // 'Error' breaks prototype chain here.
11
37
  super(message);
12
- /** Code to identify the error in `catch` clauses. */
13
- this.code = 'ERR_COMMAND_ERRORED';
14
38
  // Fixing the break.
15
39
  Object.setPrototypeOf(this, CommandError.prototype);
16
40
  this.cmd = cmd;
41
+ this.code = deriveCode(message);
17
42
  }
18
43
  }
19
44
  exports.CommandError = CommandError;
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/common/errors/command.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,YAAa,SAAQ,KAAK;IAOrC,YAAY,OAAe,EAAE,GAAW;QACtC,uCAAuC;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QARjB,qDAAqD;QACrD,SAAI,GAAG,qBAAqB,CAAC;QAQ3B,oBAAoB;QACpB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF;AAfD,oCAeC"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/common/errors/command.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,iBAAiB,GAAG;IAC/B,+FAA+F;IAC/F,cAAc,EAAG,oBAAoB;IACrC,qFAAqF;IACrF,SAAS,EAAQ,eAAe;IAChC,sDAAsD;IACtD,SAAS,EAAQ,eAAe;IAChC,iEAAiE;IACjE,eAAe,EAAE,qBAAqB;CAC9B,CAAC;AAEX,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;QACnF,OAAO,yBAAiB,CAAC,cAAc,CAAC;KACzC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;QAChF,OAAO,yBAAiB,CAAC,SAAS,CAAC;KACpC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QACvC,OAAO,yBAAiB,CAAC,SAAS,CAAC;KACpC;IACD,OAAO,yBAAiB,CAAC,eAAe,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAa,YAAa,SAAQ,KAAK;IAOrC,YAAY,OAAe,EAAE,GAAW;QACtC,uCAAuC;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,oBAAoB;QACpB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,GAAG,GAAI,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACF;AAhBD,oCAgBC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Promisified `exec` wrapper that converts non-zero exit codes to {@link CommandError}.
3
+ *
4
+ * Node's `promisify(exec)` throws a raw `Error` (with `.stderr` / `.stdout` attached)
5
+ * when the child process exits with a non-zero exit code. This wrapper catches that
6
+ * error and re-throws it as a typed `CommandError` so callers always deal with one
7
+ * consistent error class — including the derived `code` from {@link CommandErrorCodes}.
8
+ *
9
+ * @internal
10
+ */
11
+ export declare function execCommand(cmd: string): Promise<{
12
+ stdout: string;
13
+ stderr: string;
14
+ }>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.execCommand = void 0;
13
+ const util_1 = require("util");
14
+ const child_process_1 = require("child_process");
15
+ const command_1 = require("./errors/command");
16
+ const _exec = (0, util_1.promisify)(child_process_1.exec);
17
+ /**
18
+ * Promisified `exec` wrapper that converts non-zero exit codes to {@link CommandError}.
19
+ *
20
+ * Node's `promisify(exec)` throws a raw `Error` (with `.stderr` / `.stdout` attached)
21
+ * when the child process exits with a non-zero exit code. This wrapper catches that
22
+ * error and re-throws it as a typed `CommandError` so callers always deal with one
23
+ * consistent error class — including the derived `code` from {@link CommandErrorCodes}.
24
+ *
25
+ * @internal
26
+ */
27
+ function execCommand(cmd) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ try {
30
+ return yield _exec(cmd);
31
+ }
32
+ catch (err) {
33
+ // promisify(exec) attaches .stderr and .stdout to the thrown Error when
34
+ // the child process exits with a non-zero exit code.
35
+ const stderr = err.stderr || '';
36
+ if (stderr) {
37
+ throw new command_1.CommandError(stderr.replace(/\n/g, ''), cmd);
38
+ }
39
+ // Fallback: command failed without stderr (e.g. binary not found).
40
+ throw new command_1.CommandError((err.message || String(err)).replace(/\n/g, ''), cmd);
41
+ }
42
+ });
43
+ }
44
+ exports.execCommand = execCommand;
45
+ //# sourceMappingURL=exec-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec-command.js","sourceRoot":"","sources":["../../src/common/exec-command.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAiC;AACjC,iDAA0C;AAE1C,8CAAgD;AAEhD,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAE9B;;;;;;;;;GASG;AACH,SAAsB,WAAW,CAAC,GAAW;;QAC3C,IAAI;YACF,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;SACzB;QACD,OAAO,GAAQ,EAAE;YACf,wEAAwE;YACxE,qDAAqD;YACrD,MAAM,MAAM,GAAY,GAAG,CAAC,MAAiB,IAAI,EAAE,CAAC;YACpD,IAAI,MAAM,EAAE;gBACV,MAAM,IAAI,sBAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;aACxD;YACD,mEAAmE;YACnE,MAAM,IAAI,sBAAY,CAAC,CAAC,GAAG,CAAC,OAAiB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;SACxF;IACH,CAAC;CAAA;AAdD,kCAcC"}
package/lib/index.d.ts CHANGED
@@ -19,7 +19,7 @@ export { SchemaIds } from './common/constants/schemas';
19
19
  export { mac, hex4Digits, ipv4, ipv6, ip, ipWithOptionalMask, ipWithRequiredMask, ipOrAny, ipWithOptionalMaskAndAllAndDefaultValues, ipWithRequiredMaskAndAllAndDefaultValues, ipWithOptionalFamilyPrefix, slashSeparatedStrings, slashSeparatedNumbers, commaSeparatedIpv6Addresses, timeWithUnit, colonSeparatedNumbers } from './common/constants/regexes';
20
20
  export { GlobalOptions, Empty, FilePathRequiredGlobalOption, StdinRequiredGlobalOption, GlobalOptionsWithRequiredFilePath, GlobalOptionsWithRequiredStdin } from './common/interfaces/common';
21
21
  export { MonitorEmittedData } from './common/interfaces/monitor';
22
- export { CommandError } from './common/errors/command';
22
+ export { CommandError, CommandErrorCodes } from './common/errors/command';
23
23
  export { ParametersError } from './common/errors/parameters';
24
24
  /**
25
25
  * Read commands from provided file or standard input and invoke them.
package/lib/index.js CHANGED
@@ -26,8 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.RoutePreferences = exports.route = exports.AddressFamilies = exports.AddressScopes = exports.address = exports.XdpOptionTypes = exports.BridgeSlavePortStates = exports.AddrGenMode = exports.SecureAssociationEncodings = exports.MacsecValidationModeOptions = exports.MldVersions = exports.IgmpVersions = exports.MultiCastRouterOptions = exports.HsrProtocols = exports.HsrVersions = exports.MacvlanMacvtapModes = exports.TtlSpecialValues = exports.ErspanDirections = exports.IpoIbModes = exports.IpipSipDeviceModes = exports.SecondaryUdpEncapsulations = exports.DontFragmentFlagValues = exports.VlanProtocols = exports.ExtendedLinkTypes = exports.LinkTypes = exports.link = exports.batch = exports.ParametersError = exports.CommandError = exports.colonSeparatedNumbers = exports.timeWithUnit = exports.commaSeparatedIpv6Addresses = exports.slashSeparatedNumbers = exports.slashSeparatedStrings = exports.ipWithOptionalFamilyPrefix = exports.ipWithRequiredMaskAndAllAndDefaultValues = exports.ipWithOptionalMaskAndAllAndDefaultValues = exports.ipOrAny = exports.ipWithRequiredMask = exports.ipWithOptionalMask = exports.ip = exports.ipv6 = exports.ipv4 = exports.hex4Digits = exports.mac = exports.SchemaIds = exports.EnableDisableAutoToggle = exports.EnableDisableAsStringToggle = exports.EnableDisableToggle = exports.OnOffToggle = void 0;
30
- exports.MonitorCommand = exports.Command = exports.utils = exports.mroute = exports.maddress = exports.TunTapTunnelModes = exports.tuntap = exports.TunnelModes = exports.tunnel = exports.ntable = exports.NudStates = exports.neighbour = exports.addrlabel = exports.MonitorObjects = exports.monitor = exports.RuleTypes = exports.RoutingTables = exports.rule = exports.RouteTypes = exports.RoutingTableProtocols = exports.RouteRoutingTables = exports.EncapTypes = exports.EncapSeg6LocalActions = void 0;
29
+ exports.route = exports.AddressFamilies = exports.AddressScopes = exports.address = exports.XdpOptionTypes = exports.BridgeSlavePortStates = exports.AddrGenMode = exports.SecureAssociationEncodings = exports.MacsecValidationModeOptions = exports.MldVersions = exports.IgmpVersions = exports.MultiCastRouterOptions = exports.HsrProtocols = exports.HsrVersions = exports.MacvlanMacvtapModes = exports.TtlSpecialValues = exports.ErspanDirections = exports.IpoIbModes = exports.IpipSipDeviceModes = exports.SecondaryUdpEncapsulations = exports.DontFragmentFlagValues = exports.VlanProtocols = exports.ExtendedLinkTypes = exports.LinkTypes = exports.link = exports.batch = exports.ParametersError = exports.CommandErrorCodes = exports.CommandError = exports.colonSeparatedNumbers = exports.timeWithUnit = exports.commaSeparatedIpv6Addresses = exports.slashSeparatedNumbers = exports.slashSeparatedStrings = exports.ipWithOptionalFamilyPrefix = exports.ipWithRequiredMaskAndAllAndDefaultValues = exports.ipWithOptionalMaskAndAllAndDefaultValues = exports.ipOrAny = exports.ipWithRequiredMask = exports.ipWithOptionalMask = exports.ip = exports.ipv6 = exports.ipv4 = exports.hex4Digits = exports.mac = exports.SchemaIds = exports.EnableDisableAutoToggle = exports.EnableDisableAsStringToggle = exports.EnableDisableToggle = exports.OnOffToggle = void 0;
30
+ exports.MonitorCommand = exports.Command = exports.utils = exports.mroute = exports.maddress = exports.TunTapTunnelModes = exports.tuntap = exports.TunnelModes = exports.tunnel = exports.ntable = exports.NudStates = exports.neighbour = exports.addrlabel = exports.MonitorObjects = exports.monitor = exports.RuleTypes = exports.RoutingTables = exports.rule = exports.RouteTypes = exports.RoutingTableProtocols = exports.RouteRoutingTables = exports.EncapTypes = exports.EncapSeg6LocalActions = exports.RoutePreferences = void 0;
31
31
  // Special commands not pertaining to a specific command object.
32
32
  const batchModule = __importStar(require("./commands/batch"));
33
33
  exports.batch = batchModule;
@@ -121,6 +121,7 @@ Object.defineProperty(exports, "colonSeparatedNumbers", { enumerable: true, get:
121
121
  //
122
122
  var command_2 = require("./common/errors/command");
123
123
  Object.defineProperty(exports, "CommandError", { enumerable: true, get: function () { return command_2.CommandError; } });
124
+ Object.defineProperty(exports, "CommandErrorCodes", { enumerable: true, get: function () { return command_2.CommandErrorCodes; } });
124
125
  var parameters_1 = require("./common/errors/parameters");
125
126
  Object.defineProperty(exports, "ParametersError", { enumerable: true, get: function () { return parameters_1.ParametersError; } });
126
127
  var link_constants_1 = require("./commands/link.constants");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iproutejs",
3
- "version": "2.3.2",
3
+ "version": "2.3.4",
4
4
  "description": "Show and manipulate network devices, addresses, routing, policy routing, tunnels, IP forwarding, address labels and other `iproute` objects.",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",