| // Copyright (c) 2021, 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. | |
| import 'dart:io'; | |
| void main() { | |
| final buffer = StringBuffer(); | |
| buffer.write(''' | |
| // Copyright (c) 2021, 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. | |
| '''); | |
| generateMap(buffer, 'const1', 1, isConst: true); | |
| generateMap(buffer, 'final1', 1, isConst: false); | |
| generateMap(buffer, 'const5', 5, isConst: true); | |
| generateMap(buffer, 'final5', 5, isConst: false); | |
| generateMap(buffer, 'const10', 10, isConst: true); | |
| generateMap(buffer, 'final10', 10, isConst: false); | |
| generateMap(buffer, 'const100', 100, isConst: true); | |
| generateMap(buffer, 'final100', 100, isConst: false); | |
| for (final folder in ['dart', 'dart2']) { | |
| final path = Platform.script.resolve('$folder/maps.dart').toFilePath(); | |
| File(path).writeAsStringSync(buffer.toString()); | |
| Process.runSync(Platform.executable, ['format', path]); | |
| print('Generated $path.'); | |
| } | |
| } | |
| void generateMap( | |
| StringBuffer buffer, | |
| String name, | |
| int mapSize, { | |
| bool isConst = true, | |
| }) { | |
| final constOrFinal = isConst ? 'const' : 'final'; | |
| buffer.write('$constOrFinal $name = <String, String>{'); | |
| for (int i = 0; i < mapSize; i++) { | |
| buffer.write("'$i': '${i + 1}',"); | |
| } | |
| buffer.write('};'); | |
| buffer.write('\n\n'); | |
| } |