feat(batch5): implement jetstream error constructors group11

This commit is contained in:
Joseph Doherty
2026-02-28 09:05:27 -05:00
parent a15c8131cc
commit dc90025a37
4 changed files with 73 additions and 0 deletions

View File

@@ -1200,6 +1200,30 @@ public static partial class JsApiErrors
return Clone(StreamTooManyRequests);
}
public static JsApiError NewJSStreamWrongLastSequenceConstantError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(StreamWrongLastSequenceConstant);
}
public static JsApiError NewJSTempStorageFailedError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(TempStorageFailed);
}
public static JsApiError NewJSTemplateNameNotMatchSubjectError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(TemplateNameNotMatchSubject);
}
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
@@ -1544,6 +1568,30 @@ public static partial class JsApiErrors
return NewWithTags(StreamTransformInvalidSource, "{err}", err);
}
public static JsApiError NewJSStreamUpdateError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(StreamUpdate, "{err}", err);
}
public static JsApiError NewJSStreamWrongLastMsgIDError(object? id, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(StreamWrongLastMsgID, "{id}", id);
}
public static JsApiError NewJSStreamWrongLastSequenceError(ulong seq, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(StreamWrongLastSequence, "{seq}", seq);
}
public static JsApiError NewJSStreamExternalApiOverlapError(object? prefix, object? subject, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)

View File

@@ -333,4 +333,23 @@ public sealed class JetStreamErrorsGeneratedConstructorsTests
fromOverride.Description.ShouldBe(expected.Description);
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
}
[Fact]
public void ConstructorSurface_Group11()
{
JsApiErrors.NewJSStreamWrongLastSequenceConstantError().ErrCode.ShouldBe(JsApiErrors.StreamWrongLastSequenceConstant.ErrCode);
JsApiErrors.NewJSTempStorageFailedError().ErrCode.ShouldBe(JsApiErrors.TempStorageFailed.ErrCode);
JsApiErrors.NewJSTemplateNameNotMatchSubjectError().ErrCode.ShouldBe(JsApiErrors.TemplateNameNotMatchSubject.ErrCode);
JsApiErrors.NewJSStreamUpdateError(new InvalidOperationException("update failed")).Description.ShouldBe("update failed");
JsApiErrors.NewJSStreamWrongLastMsgIDError("msg-42").Description.ShouldBe("wrong last msg ID: msg-42");
JsApiErrors.NewJSStreamWrongLastSequenceError(42UL).Description.ShouldBe("wrong last sequence: 42");
var expected = new JsApiError { Code = 489, ErrCode = 9100, Description = "override-11" };
var fromOverride = JsApiErrors.NewJSTempStorageFailedError(JsApiErrors.Unless(expected));
fromOverride.Code.ShouldBe(expected.Code);
fromOverride.ErrCode.ShouldBe(expected.ErrCode);
fromOverride.Description.ShouldBe(expected.Description);
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
}
}