Skip to content

Commit a5f21e9

Browse files
committed
Fixed a bug that caused a failure looking up AIs in a dictionary under certain circumstances.
Extended high-performance to netstandard20 target.
1 parent 2b3725f commit a5f21e9

14 files changed

Lines changed: 327 additions & 870 deletions

Solidsoft.Reply.Parsers.Gs1Ai/Descriptors/AlphanumericKeyWithCheckCharacterPairDescriptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ internal class AlphanumericKeyWithCheckCharacterPairDescriptor(
5151
string description,
5252
Regex pattern,
5353
bool isFixedWidth)
54-
: EntityDescriptor(dataTitle, description, pattern, isFixedWidth) {
54+
: EntityDescriptors(dataTitle, description, pattern, isFixedWidth) {
5555
/// <summary>
5656
/// Validate data against the descriptor.
5757
/// </summary>

Solidsoft.Reply.Parsers.Gs1Ai/Descriptors/CouponCodeDescriptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class CouponCodeDescriptor(
5555
string description,
5656
Regex pattern,
5757
bool isFixedWidth)
58-
: EntityDescriptor(dataTitle, description, pattern, isFixedWidth) {
58+
: EntityDescriptors(dataTitle, description, pattern, isFixedWidth) {
5959
#if !NET7_0_OR_GREATER
6060
/// <summary>
6161
/// A regular expression for North American coupon codes.

Solidsoft.Reply.Parsers.Gs1Ai/Descriptors/EntityDescriptor.cs renamed to Solidsoft.Reply.Parsers.Gs1Ai/Descriptors/EntityDescriptors.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// --------------------------------------------------------------------------------------------------------------------
2-
// <copyright file="EntityDescriptor.cs" company="Solidsoft Reply Ltd">
2+
// <copyright file="EntityDescriptors.cs" company="Solidsoft Reply Ltd">
33
// Copyright (c) 2018-2025 Solidsoft Reply Ltd. All rights reserved.
44
// Licensed under the Apache License, Version 2.0 (the "License");
55
// you may not use this file except in compliance with the License.
@@ -32,7 +32,7 @@ namespace Solidsoft.Reply.Parsers.Gs1Ai.Descriptors;
3232
/// A descriptor for a GS1 entity.
3333
/// </summary>
3434
/// <remarks>
35-
/// Initializes a new instance of the <see cref="EntityDescriptor" /> class.
35+
/// Initializes a new instance of the <see cref="EntityDescriptors" /> class.
3636
/// </remarks>
3737
/// <param name="dataTitle">
3838
/// The data title.
@@ -49,7 +49,7 @@ namespace Solidsoft.Reply.Parsers.Gs1Ai.Descriptors;
4949
/// <param name="validator">
5050
/// An optional validator expression for additional validation of value.
5151
/// </param>
52-
internal class EntityDescriptor(
52+
internal class EntityDescriptors(
5353
string? dataTitle,
5454
string? description,
5555
Regex? pattern,

Solidsoft.Reply.Parsers.Gs1Ai/Descriptors/IbanDescriptor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class IbanDescriptor(
5858
string description,
5959
Regex pattern,
6060
bool isFixedWidth)
61-
: EntityDescriptor(dataTitle, description, pattern, isFixedWidth) {
61+
: EntityDescriptors(dataTitle, description, pattern, isFixedWidth) {
6262
#if !NET7_0_OR_GREATER
6363

6464
/// <summary>
@@ -738,7 +738,7 @@ bool ValidateCheckDigits(ReadOnlySpan<char> value) {
738738
value[..4].CopyTo(normalisedValue[boundaryIdx..]);
739739
var builder = new StringBuilder();
740740

741-
foreach (var c in normalisedValue.Trim('\0')) {
741+
foreach (var c in normalisedValue.TrimEnd('\0')) {
742742
builder.Append(c switch {
743743
_ when c >= 65 && c <= 90 => (c - 55).ToString("D2"),
744744
_ => c

Solidsoft.Reply.Parsers.Gs1Ai/Descriptors/IdentifierWithFinalChecksumDescriptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ internal class IdentifierWithFinalChecksumDescriptor(
5151
string description,
5252
Regex pattern,
5353
bool isFixedWidth)
54-
: EntityDescriptor(dataTitle, description, pattern, isFixedWidth) {
54+
: EntityDescriptors(dataTitle, description, pattern, isFixedWidth) {
5555
/// <summary>
5656
/// Validate data against the descriptor.
5757
/// </summary>

Solidsoft.Reply.Parsers.Gs1Ai/Descriptors/IdentifierWithPos13ChecksumDescriptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ internal class IdentifierWithPos13ChecksumDescriptor(
5151
string description,
5252
Regex? pattern,
5353
bool isFixedWidth)
54-
: EntityDescriptor(dataTitle, description, pattern, isFixedWidth) {
54+
: EntityDescriptors(dataTitle, description, pattern, isFixedWidth) {
5555
/// <summary>
5656
/// Validate data against the descriptor.
5757
/// </summary>

Solidsoft.Reply.Parsers.Gs1Ai/Descriptors/IdentifierWithPos14ChecksumDescriptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ internal class IdentifierWithPos14ChecksumDescriptor(
5151
string description,
5252
Regex? pattern,
5353
bool isFixedWidth)
54-
: EntityDescriptor(dataTitle, description, pattern, isFixedWidth) {
54+
: EntityDescriptors(dataTitle, description, pattern, isFixedWidth) {
5555
/// <summary>
5656
/// Validate data against the descriptor.
5757
/// </summary>

Solidsoft.Reply.Parsers.Gs1Ai/Descriptors/PositiveOfferFileCouponCodeDescriptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class PositiveOfferFileCouponCodeDescriptor(
5555
string description,
5656
Regex pattern,
5757
bool isFixedWidth)
58-
: EntityDescriptor(dataTitle, description, pattern, isFixedWidth) {
58+
: EntityDescriptors(dataTitle, description, pattern, isFixedWidth) {
5959

6060
#if NET7_0_OR_GREATER
6161
/// <summary>

Solidsoft.Reply.Parsers.Gs1Ai/Descriptors/UnCefactFreightUnitTypeDescriptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class UnCefactFreightUnitTypeDescriptor(
7878
string description,
7979
Regex pattern,
8080
bool isFixedWidth)
81-
: EntityDescriptor(dataTitle, description, pattern, isFixedWidth) {
81+
: EntityDescriptors(dataTitle, description, pattern, isFixedWidth) {
8282

8383
private static Dictionary<string, (string, string)> _freightUnitTypes = new () {
8484
{ "8", ("Oneway pallet (GS1 Code)", "Pallet need not be returned to the point of expedition") },

0 commit comments

Comments
 (0)