JsUuid.cs 761 B

12345678910111213141516171819202122232425
  1. using Jint.Native;
  2. namespace Jint.Tests.Runtime.Domain;
  3. public sealed class JsUuid : JsValue, IEquatable<JsUuid>
  4. {
  5. internal readonly Guid _value;
  6. public static readonly JsUuid Empty = new JsUuid(Guid.Empty);
  7. public JsUuid(Guid value) : base(Jint.Runtime.Types.String) => _value = value;
  8. public static implicit operator JsUuid(Guid g) => new JsUuid(g);
  9. public override bool Equals(JsValue other) => Equals(other as JsUuid);
  10. public bool Equals(JsUuid other) => other?._value == _value;
  11. public override int GetHashCode() => _value.GetHashCode();
  12. public override object ToObject() => _value;
  13. public override string ToString() => _value.ToString();
  14. public override bool Equals(object obj) => Equals(obj as JsUuid);
  15. }