appSpacesSetter function

void appSpacesSetter(
  1. String name
)

Implementation

void appSpacesSetter(String name) {
  Field fieldGenerator(Axis axis, num count) {
    return Field(
      (b) => b
        ..name = '${axis.name}$count'
        ..modifier = FieldModifier.constant
        ..static = true
        ..assignment = Code('SizedBox(${axis == Axis.horizontal ? 'width' : 'height'}: $count)'),
    );
  }

  var lib = Library(
    (lib) => lib
      ..directives.add(Directive.import('package:flutter/material.dart', show: ['SizedBox']))
      ..body.addAll([
        Class(
          (c) => c
            ..name = 'AppSpaces'
            ..fields.addAll(
              [
                ...List.generate(10, (index) => fieldGenerator(Axis.horizontal, (index + 1) * 5)),
                ...List.generate(10, (index) => fieldGenerator(Axis.vertical, (index + 1) * 5)),
              ],
            ),
        ),
      ]),
  );
  File('$name/lib/utils/app_spaces.dart')
      .writeAsStringSync(formatter.format(DartEmitter.scoped(useNullSafetySyntax: true).visitLibrary(lib).toString()));
}