ErrorInstance.cs 910 B

123456789101112131415161718192021222324252627282930313233343536
  1. using Jint.Native.Object;
  2. using Jint.Runtime;
  3. namespace Jint.Native.Error;
  4. public sealed class JsError : ErrorInstance
  5. {
  6. internal JsError(Engine engine) : base(engine, ObjectClass.Error)
  7. {
  8. }
  9. }
  10. public class ErrorInstance : ObjectInstance
  11. {
  12. private protected ErrorInstance(Engine engine, ObjectClass objectClass)
  13. : base(engine, objectClass)
  14. {
  15. }
  16. /// <summary>
  17. /// https://tc39.es/ecma262/#sec-installerrorcause
  18. /// </summary>
  19. internal void InstallErrorCause(JsValue options)
  20. {
  21. if (options is ObjectInstance oi && oi.HasProperty("cause"))
  22. {
  23. var cause = oi.Get("cause");
  24. CreateNonEnumerableDataPropertyOrThrow("cause", cause);
  25. }
  26. }
  27. public override string ToString()
  28. {
  29. return Engine.Realm.Intrinsics.Error.PrototypeObject.ToString(this, Arguments.Empty).ToObject()?.ToString() ?? "";
  30. }
  31. }