iproutejs 2.3.2 → 2.3.3

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).
@@ -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"}
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.3",
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",