Skip to content

Commit acebff6

Browse files
authored
Merge pull request #802 from Cratis:fix/guid-constructor
Fix/guid-constructor
2 parents 900d1b7 + e3a9400 commit acebff6

File tree

4 files changed

+24
-9
lines changed

4 files changed

+24
-9
lines changed

Directory.Packages.props

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@
1919
<!-- Analysis -->
2020
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" NoWarn="NU5104" />
2121
<PackageVersion Include="Roslynator.Analyzers" Version="4.14.1" />
22-
<PackageVersion Include="Meziantou.Analyzer" Version="2.0.257" />
22+
<PackageVersion Include="Meziantou.Analyzer" Version="2.0.258" />
2323
<!-- Specifications -->
2424
<PackageVersion Include="Cratis.Specifications.XUnit" Version="3.0.4" />
2525
<PackageVersion Include="xunit" Version="2.9.3" />
2626
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
2727
<PackageVersion Include="moq" Version="4.20.72" />
2828
<PackageVersion Include="Microsoft.NET.Test.SDK" Version="18.0.1" />
2929

30-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
31-
<PackageVersion Include="Microsoft.Extensions.DependencyModel" Version="10.0.0" />
32-
<PackageVersion Include="System.Text.Json" Version="10.0.0" />
30+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.1" />
31+
<PackageVersion Include="Microsoft.Extensions.DependencyModel" Version="10.0.1" />
32+
<PackageVersion Include="System.Text.Json" Version="10.0.1" />
3333
<PackageVersion Include="OpenTelemetry" Version="1.14.0" />
3434
</ItemGroup>
3535
<Import Project="$(MSBuildThisFileDirectory)/Directory.Packages.NET8-9.props" Condition=" '$(TargetFramework)' == 'net8.0' or '$(TargetFramework)' == 'net9.0' " />

Source/JavaScript/Guid.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ export class Guid implements IEquatable {
3535
* Initializes a new instance of the {Guid} class.
3636
* @param {number[]|Uint8Array} bytes - The 16 bytes that represents a {Guid}.
3737
*/
38-
constructor(readonly bytes: number[] | Uint8Array) {
38+
constructor(readonly bytes: number[] | Uint8Array | undefined) {
39+
if( bytes === undefined ) {
40+
this._stringVersion = Guid.empty.toString();
41+
return;
42+
}
43+
3944
this._stringVersion = '' +
4045
getString(bytes[3]) + getString(bytes[2]) + getString(bytes[1]) + getString(bytes[0]) +
4146
'-' +
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// Copyright (c) Cratis. All rights reserved.
2+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3+
4+
import { Guid } from '../Guid';
5+
6+
describe('when constructing with undefined bytes', () => {
7+
const guid = new Guid(undefined);
8+
9+
it('should be the same as empty', () => guid.equals(Guid.empty).should.be.true);
10+
});

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@
2727
"@types/chai": "5.2.3",
2828
"@types/chai-as-promised": "8.0.2",
2929
"@types/mocha": "10.0.10",
30-
"@types/node": "24.10.2",
30+
"@types/node": "25.0.1",
3131
"@types/sinon": "21.0.0",
3232
"@types/sinon-chai": "4.0.0",
33-
"@typescript-eslint/eslint-plugin": "8.48.1",
33+
"@typescript-eslint/eslint-plugin": "8.49.0",
3434
"@typescript-eslint/parser": "8.49.0",
3535
"chai": "6.2.1",
3636
"chai-as-promised": "8.0.2",
3737
"edit-json-file": "1.8.1",
38-
"eslint": "9.39.1",
38+
"eslint": "9.39.2",
3939
"eslint-config-prettier": "10.1.8",
4040
"eslint-plugin-header": "3.1.1",
4141
"eslint-plugin-import": "2.32.0",
@@ -46,7 +46,7 @@
4646
"globals": "16.5.0",
4747
"mocha": "11.7.5",
4848
"module-alias": "2.2.3",
49-
"npm-check-updates": "19.1.2",
49+
"npm-check-updates": "19.2.0",
5050
"prettier": "3.7.4",
5151
"rollup": "4.53.3",
5252
"rollup-plugin-commonjs": "10.1.0",

0 commit comments

Comments
 (0)