Creates the error reported when the stream could not be ensured.
The JetStream stream name
Optionalcause: unknown
The platform error, when the stream read/create was attempted and rejected; omitted when the stream is simply absent and no subject set was configured
OptionalcauseOptionalstackReadonlystreamThe stream name the broker tried to ensure.
StaticstackThe 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.
StaticcaptureCreates 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();
OptionalconstructorOpt: FunctionStaticprepare
Thrown by
NatsBroker.connectwhen the JetStream stream could not be ensured: the stream is absent andNatsOptions.streamSubjectswas not supplied, or the platform refused the stream read/create. The platform's own error is carried ascausewhen there is one.The message names both remedies: create the stream out of band (for example
nats stream add <name>), or supplyNatsOptions.streamSubjectsso the broker can create it with explicit subjects. The broker deliberately sends no catch-all subject: NATS refusessubjects: ['>']withoutno_ack, and withno_ackevery publish would reject unobserved — so a subject set must come from the application.Since
0.5.0