feat(batch5): implement jetstream error constructors group07

This commit is contained in:
Joseph Doherty
2026-02-28 08:47:21 -05:00
parent aab2814201
commit a587e8e347
4 changed files with 195 additions and 0 deletions

View File

@@ -792,6 +792,134 @@ public static partial class JsApiErrors
return Clone(MirrorOverlappingSubjectFilters);
}
public static JsApiError NewJSMirrorWithAtomicPublishError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorWithAtomicPublish);
}
public static JsApiError NewJSMirrorWithCountersError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorWithCounters);
}
public static JsApiError NewJSMirrorWithFirstSeqError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorWithFirstSeq);
}
public static JsApiError NewJSMirrorWithMsgSchedulesError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorWithMsgSchedules);
}
public static JsApiError NewJSMirrorWithSourcesError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorWithSources);
}
public static JsApiError NewJSMirrorWithStartSeqAndTimeError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorWithStartSeqAndTime);
}
public static JsApiError NewJSMirrorWithSubjectFiltersError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorWithSubjectFilters);
}
public static JsApiError NewJSMirrorWithSubjectsError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorWithSubjects);
}
public static JsApiError NewJSNoAccountError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(NoAccount);
}
public static JsApiError NewJSNoLimitsError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(NoLimits);
}
public static JsApiError NewJSNoMessageFoundError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(NoMessageFound);
}
public static JsApiError NewJSNotEmptyRequestError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(NotEmptyRequest);
}
public static JsApiError NewJSNotEnabledError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(NotEnabled);
}
public static JsApiError NewJSNotEnabledForAccountError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(NotEnabledForAccount);
}
public static JsApiError NewJSReplicasCountCannotBeNegativeError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(ReplicasCountCannotBeNegative);
}
public static JsApiError NewJSRequiredApiLevelError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(RequiredApiLevel);
}
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
@@ -944,4 +1072,20 @@ public static partial class JsApiErrors
return NewWithTags(MirrorInvalidTransformDestination, "{err}", err);
}
public static JsApiError NewJSPedanticError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(Pedantic, "{err}", err);
}
public static JsApiError NewJSRaftGeneralError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(RaftGeneralErr, "{err}", err);
}
}