# Copyright (c) 2013, 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.

# This file contains all sources for the dart:convert library.
{
  'sources': [
    'convert.dart',
    # The above file needs to be first as it lists the parts below.
    'ascii.dart',
    'base64.dart',
    'byte_conversion.dart',
    'chunked_conversion.dart',
    'codec.dart',
    'converter.dart',
    'encoding.dart',
    'html_escape.dart',
    'json.dart',
    'latin1.dart',
    'line_splitter.dart',
    'string_conversion.dart',
    'utf.dart',
  ],
}
