basicsetupdart 1.0.0+1 copy "basicsetupdart: ^1.0.0+1" to clipboard
basicsetupdart: ^1.0.0+1 copied to clipboard

A comprehensive Flutter utility library providing essential functions for date operations, validations, and common tasks.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:basicsetupdart/basic_utils.dart' as utils;

void main() {
  runApp(const BasicUtilsExampleApp());
}

class BasicUtilsExampleApp extends StatelessWidget {
  const BasicUtilsExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Basic Utils Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const ExampleHomePage(),
    );
  }
}

class ExampleHomePage extends StatefulWidget {
  const ExampleHomePage({super.key});

  @override
  State<ExampleHomePage> createState() => _ExampleHomePageState();
}

class _ExampleHomePageState extends State<ExampleHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Basic Utils Example'),
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
      ),
      body: SingleChildScrollView(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            _buildSection('Date Utils Examples', _buildDateExamples()),
            const SizedBox(height: 20),
            _buildSection('Validation Utils Examples', _buildValidationExamples()),
            const SizedBox(height: 20),
            _buildSection('String Utils Examples', _buildStringExamples()),
            const SizedBox(height: 20),
            _buildSection('Number Utils Examples', _buildNumberExamples()),
            const SizedBox(height: 20),
            _buildSection('File Utils Examples', _buildFileExamples()),
            const SizedBox(height: 20),
            _buildSection('Network Utils Examples', _buildNetworkExamples()),
          ],
        ),
      ),
    );
  }

  Widget _buildSection(String title, Widget content) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        Text(
          title,
          style: const TextStyle(
            fontSize: 20,
            fontWeight: FontWeight.bold,
            color: Colors.blue,
          ),
        ),
        const SizedBox(height: 10),
        content,
      ],
    );
  }

  Widget _buildDateExamples() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        _buildExample('Current DateTime', utils.DateUtils.getCurrentDateTime()),
        _buildExample('Current Date (DD/MM/YYYY)', utils.DateUtils.getCurrentDateTime(format: 'dd/MM/yyyy')),
        _buildExample('Date Difference (Days)', 
          utils.DateUtils.getDateDifference(
            DateTime(2023, 1, 1), 
            DateTime(2023, 12, 31), 
            unit: 'days'
          ).toString()
        ),
        _buildExample('Is Today', utils.DateUtils.isToday(DateTime.now()).toString()),
        _buildExample('Is Leap Year 2024', utils.DateUtils.isLeapYear(2024).toString()),
        _buildExample('Age from Birth Date', 
          '${utils.DateUtils.getAge(DateTime(1990, 5, 15))} years'
        ),
      ],
    );
  }

  Widget _buildValidationExamples() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        _buildExample('Valid Email', utils.ValidationUtils.checkValidEmail('test@example.com').toString()),
        _buildExample('Valid URL', utils.ValidationUtils.checkValidUrl('https://www.google.com').toString()),
        _buildExample('Valid PAN', utils.ValidationUtils.checkValidPanNumber('ABCDE1234F').toString()),
        _buildExample('Valid GST', utils.ValidationUtils.checkValidGSTNumber('22ABCDE1234F1Z5').toString()),
        _buildExample('Valid Indian Mobile', utils.ValidationUtils.checkValidIndianMobileNumber('9876543210').toString()),
        _buildExample('Valid Password', 
          '${utils.ValidationUtils.checkValidPassword('MySecure123!')}'
        ),
        _buildExample('Valid IFSC', utils.ValidationUtils.checkValidIFSCCode('SBIN0001234').toString()),
        _buildExample('Valid UPI ID', utils.ValidationUtils.checkValidUPIId('user@paytm').toString()),
      ],
    );
  }

  Widget _buildStringExamples() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        _buildExample('Capitalize Words', utils.StringUtils.capitalizeWords('hello world')),
        _buildExample('Camel Case', utils.StringUtils.toCamelCase('hello world example')),
        _buildExample('Snake Case', utils.StringUtils.toSnakeCase('HelloWorldExample')),
        _buildExample('Kebab Case', utils.StringUtils.toKebabCase('HelloWorldExample')),
        _buildExample('Remove Whitespace', utils.StringUtils.removeWhitespace('hello world test')),
        _buildExample('Is Palindrome', utils.StringUtils.isPalindrome('racecar').toString()),
        _buildExample('Truncate', utils.StringUtils.truncate('This is a very long string', 15)),
        _buildExample('Mask String', utils.StringUtils.maskString('1234567890', visibleStart: 2, visibleEnd: 2)),
        _buildExample('Extract Numbers', utils.StringUtils.extractNumbers('Price is 100 and tax is 15').join(', ')),
        _buildExample('Format Currency', utils.StringUtils.formatCurrency(12345.67)),
        _buildExample('To Slug', utils.StringUtils.toSlug('Hello World! This is a test.')),
      ],
    );
  }

  Widget _buildNumberExamples() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        _buildExample('Format with Commas', utils.NumberUtils.formatWithCommas(1234567)),
        _buildExample('Format Double with Commas', utils.NumberUtils.formatWithCommasDouble(1234567.89)),
        _buildExample('Number to Words', utils.NumberUtils.numberToWords(1234)),
        _buildExample('To Ordinal', utils.NumberUtils.toOrdinal(21)),
        _buildExample('Is Even', utils.NumberUtils.isEven(42).toString()),
        _buildExample('Is Prime', utils.NumberUtils.isPrime(17).toString()),
        _buildExample('Factorial', utils.NumberUtils.factorial(5).toString()),
        _buildExample('GCD', utils.NumberUtils.gcd(48, 18).toString()),
        _buildExample('LCM', utils.NumberUtils.lcm(12, 18).toString()),
        _buildExample('Calculate Percentage', 
          '${utils.NumberUtils.calculatePercentage(75, 100).toStringAsFixed(1)}%'
        ),
        _buildExample('Simple Interest', 
          utils.NumberUtils.calculateSimpleInterest(10000, 0.05, 2).toStringAsFixed(2)
        ),
        _buildExample('Temperature Conversion', 
          '${utils.NumberUtils.convertTemperature(32, 'fahrenheit', 'celsius').toStringAsFixed(1)}°C'
        ),
      ],
    );
  }

  Widget _buildFileExamples() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        _buildExample('File Extension', utils.FileUtils.getFileExtension('/path/to/file.txt')),
        _buildExample('File Name', utils.FileUtils.getFileName('/path/to/file.txt')),
        _buildExample('File Name without Extension', utils.FileUtils.getFileNameWithoutExtension('/path/to/file.txt')),
        _buildExample('Directory Path', utils.FileUtils.getDirectoryPath('/path/to/file.txt')),
        _buildExample('Is Image File', utils.FileUtils.isImageFile('image.jpg').toString()),
        _buildExample('Is Video File', utils.FileUtils.isVideoFile('video.mp4').toString()),
        _buildExample('Is Audio File', utils.FileUtils.isAudioFile('audio.mp3').toString()),
        _buildExample('Is Document File', utils.FileUtils.isDocumentFile('document.pdf').toString()),
        _buildExample('MIME Type', utils.FileUtils.getMimeType('image.png')),
        _buildExample('Human Readable Size', utils.FileUtils.getHumanReadableFileSize(1024000)),
        _buildExample('Sanitize File Name', utils.FileUtils.sanitizeFileName('file<>name?.txt')),
        _buildExample('Unique File Name', utils.FileUtils.generateUniqueFileName('document.pdf', prefix: 'backup')),
      ],
    );
  }

  Widget _buildNetworkExamples() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        _buildExample('Valid IP Address', utils.NetworkUtils.isValidIPAddress('192.168.1.1').toString()),
        _buildExample('Valid MAC Address', utils.NetworkUtils.isValidMACAddress('00:1B:44:11:3A:B7').toString()),
        _buildExample('Extract Domain', utils.NetworkUtils.extractDomain('https://www.example.com/path') ?? 'null'),
        _buildExample('Extract Protocol', utils.NetworkUtils.extractProtocol('https://www.example.com') ?? 'null'),
        _buildExample('Is HTTPS', utils.NetworkUtils.isHttps('https://www.example.com').toString()),
        _buildExample('Valid Email Domain', utils.NetworkUtils.isValidEmailDomain('example.com').toString()),
        _buildExample('Default HTTP Port', utils.NetworkUtils.getDefaultPort('http').toString()),
        _buildExample('Valid Port', utils.NetworkUtils.isValidPort(8080).toString()),
        _buildExample('Is Well Known Port', utils.NetworkUtils.isWellKnownPort(80).toString()),
        _buildExample('Success Status Code', utils.NetworkUtils.isSuccessStatusCode(200).toString()),
        _buildExample('HTTP Status Info', 
          utils.NetworkUtils.parseHttpStatusCode(404)['category'] ?? 'Unknown'
        ),
        _buildExample('Random IP', utils.NetworkUtils.generateRandomIPAddress()),
        _buildExample('IP to Int', utils.NetworkUtils.ipToInt('192.168.1.1').toString()),
        _buildExample('Int to IP', utils.NetworkUtils.intToIP(3232235777)),
      ],
    );
  }

  Widget _buildExample(String label, String value) {
    return Padding(
      padding: const EdgeInsets.symmetric(vertical: 4.0),
      child: Row(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          SizedBox(
            width: 120,
            child: Text(
              '$label:',
              style: const TextStyle(fontWeight: FontWeight.w500),
            ),
          ),
          Expanded(
            child: Text(
              value,
              style: const TextStyle(fontFamily: 'monospace'),
            ),
          ),
        ],
      ),
    );
  }
}
0
likes
150
points
1
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter utility library providing essential functions for date operations, validations, and common tasks.

Repository (GitHub)

License

MIT (license)

Dependencies

flutter

More

Packages that depend on basicsetupdart