CancellationConstraint.cs 743 B

1234567891011121314151617181920212223242526272829303132
  1. using Jint.Runtime;
  2. using System.Threading;
  3. namespace Jint.Constraints
  4. {
  5. public sealed class CancellationConstraint : IConstraint
  6. {
  7. private CancellationToken _cancellationToken;
  8. public CancellationConstraint(CancellationToken cancellationToken)
  9. {
  10. _cancellationToken = cancellationToken;
  11. }
  12. public void Check()
  13. {
  14. if (_cancellationToken.IsCancellationRequested)
  15. {
  16. ExceptionHelper.ThrowExecutionCanceledException();
  17. }
  18. }
  19. public void Reset(CancellationToken cancellationToken)
  20. {
  21. _cancellationToken = cancellationToken;
  22. }
  23. public void Reset()
  24. {
  25. }
  26. }
  27. }