ships.Class.LoadoutEditError - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
@elite-dangerous-almanac/core / ships / LoadoutEditError
Defined in: src/ships/ship-loadout.ts:207
An editor request that the current hull or build constraints cannot accept.
It is a TypeError, so instanceof TypeError handling catches it. Localized editors
should switch on code, then use constraint
and params instead of parsing the English fallback in message.
import {
LoadoutEditError,
ShipLoadout,
} from '@elite-dangerous-almanac/core/ships/ship-loadout';
import { getModuleBySymbol } from '@elite-dangerous-almanac/core/ships/modules';
import { CORE_MODULES } from '@elite-dangerous-almanac/core/ships/modules-core';
const build = ShipLoadout.empty('SideWinder');
const drive = getModuleBySymbol('Int_Hyperdrive_Overcharge_Size8_Class5', CORE_MODULES)!;
try {
build.setModule('FrameShiftDrive', drive);
} catch (error) {
if (error instanceof LoadoutEditError) error.constraint; // -> 'oversized'
}TypeError
new LoadoutEditError(
message,code,params,constraint?):LoadoutEditError
Defined in: src/ships/ship-loadout.ts:223
Construct a structured loadout-edit error.
string
English fallback suitable for logs.
Stable category for the refused edit.
Language-neutral values used to render the failure.
Specific fitting rule, when code is incompatibleModule.
LoadoutEditError
TypeError.constructor
optionalcause?:unknown
Defined in: node_modules/.pnpm/[email protected]/node_modules/typescript/lib/lib.es2022.error.d.ts:26
TypeError.cause
readonlycode:LoadoutEditErrorCode
Defined in: src/ships/ship-loadout.ts:209
Stable category for the refused edit.
readonlyoptionalconstraint?:ModuleFitConstraint
Defined in: src/ships/ship-loadout.ts:211
More specific fitting rule for an incompatibleModule failure.
message:
string
Defined in: node_modules/.pnpm/[email protected]/node_modules/typescript/lib/lib.es5.d.ts:1077
TypeError.message
name:
string
Defined in: node_modules/.pnpm/[email protected]/node_modules/typescript/lib/lib.es5.d.ts:1076
TypeError.name
readonlyparams:LoadoutIssueParams
Defined in: src/ships/ship-loadout.ts:213
Language-neutral values used by the English fallback message.
optionalstack?:string
Defined in: node_modules/.pnpm/[email protected]/node_modules/typescript/lib/lib.es5.d.ts:1078
TypeError.stack
staticstackTraceLimit:number
Defined in: node_modules/.pnpm/@[email protected]/node_modules/@types/node/globals.d.ts:67
The Error.stackTraceLimit property specifies the number of stack frames
collected by a stack trace (whether generated by new Error().stack or
Error.captureStackTrace(obj)).
The default value is 10 but may be set to any valid JavaScript number. Changes
will affect any stack trace captured after the value has been changed.
If set to a non-number value, or set to a negative number, stack traces will not capture any frames.
TypeError.stackTraceLimit
staticcaptureStackTrace(targetObject,constructorOpt?):void
Defined in: node_modules/.pnpm/@[email protected]/node_modules/@types/node/globals.d.ts:51
Creates a .stack property on targetObject, which when accessed returns
a string representing the location in the code at which
Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`The first line of the trace will be prefixed with
${myObject.name}: ${myObject.message}.
The optional constructorOpt argument accepts a function. If given, all frames
above constructorOpt, including constructorOpt, will be omitted from the
generated stack trace.
The constructorOpt argument is useful for hiding implementation
details of error generation from the user. For instance:
function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();object
Function
void
TypeError.captureStackTrace
staticprepareStackTrace(err,stackTraces):any
Defined in: node_modules/.pnpm/@[email protected]/node_modules/@types/node/globals.d.ts:55
Error
CallSite[]
any
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
TypeError.prepareStackTrace