// Copyright (c) 2015, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// @dart=2.12

/// Contains error codes that transformed async/async* functions use to
/// communicate with js_helper functions.

const int SUCCESS = 0;
const int ERROR = 1;
const int STREAM_WAS_CANCELED = 2;
