예제 #1
0
        public async Task Run(CancellationToken cancellationToken)
        {
            var builder = new GenericNpmRunner(_Directory, _Script);

            builder.OnMessageReceived += Builder_OnMessageReceived;

            _CancellationTokenSource?.Cancel();
            _CancellationTokenSource = new CancellationTokenSource();
            var linkedToken = CancellationTokenSource.CreateLinkedTokenSource(_CancellationTokenSource.Token, cancellationToken);

            try
            {
                await builder.Run(linkedToken.Token).ConfigureAwait(false);
            }
            finally
            {
                builder.OnMessageReceived -= Builder_OnMessageReceived;
                builder.Dispose();
            }
        }
 public NpmLiveRunner(string directory, string script)
 {
     _GenericNpmRunner = new GenericNpmRunner(directory, script);
     _GenericNpmRunner.OnMessageReceived += GenericNpmRunnerOnMessageReceived;
 }