main function

void main()

Implementation

void main() {
  String dir = join(dirname(Platform.script.path), 'colors.json');
  String saveDir =
      join(dirname(Platform.script.path), '../core/tw_colors.dart');
  Map data = json.decode(File(dir).readAsStringSync());

  String core = '';
  data.forEach((key, value) {
    // String primary = '_${key}PrimaryValue';
    String name = key.toString();
    if (key == "red" || key == "blue" || key == "green") {
      name += "Tw";
    }

    // String color = hexToColor(value['500'].toString());

    // String str = '\nstatic const int $primary = $color;\n';
    String str = '\n';
    str +=
        '/// The slate primary color and swatch.\n///\n/// ![](https://gitee.com/meetqy/flutter_tailwindcss/raw/main/images/colors/${key.toString().capitalize()}.png);\n///\n';

    str +=
        'static MaterialColor $name = MaterialColor(TwConfig.colors.$name[500]!.value, TwConfig.colors.$name);\n';

    // str +=
    //     'static const MaterialColor $name =MaterialColor(_slatePrimaryValue, <int, Color>{\n';
    // str += '50: Color(${hexToColor(value["50"].toString())}),\n';
    // str += '100: Color(${hexToColor(value["100"].toString())}),\n';
    // str += '200: Color(${hexToColor(value["200"].toString())}),\n';
    // str += '300: Color(${hexToColor(value["300"].toString())}),\n';
    // str += '400: Color(${hexToColor(value["400"].toString())}),\n';
    // str += '500: Color($primary),\n';
    // str += '600: Color(${hexToColor(value["600"].toString())}),\n';
    // str += '700: Color(${hexToColor(value["700"].toString())}),\n';
    // str += '800: Color(${hexToColor(value["800"].toString())}),\n';
    // str += '900: Color(${hexToColor(value["900"].toString())}),\n});\n';
    core += str;
  });

  String result =
      'import "package:flutter/material.dart";\nclass TwColor extends ColorSwatch<int> {\nconst TwColor(int primary, Map<int, Color> swatch)\n: super(primary, swatch);\n$core\n}';

  File(saveDir).writeAsStringSync(result);
}