catalogmx 0.5.1 copy "catalogmx: ^0.5.1" to clipboard
catalogmx: ^0.5.1 copied to clipboard

Enterprise-grade Mexican data validation and official catalog library for Flutter/Dart - RFC, CURP, CLABE, NSS validators and 58+ government catalogs with 470K+ records

example/main.dart

/// Example usage of catalogmx package
///
/// This example demonstrates how to use the catalogmx validators
/// and catalogs in a Dart/Flutter application.

import 'package:catalogmx/catalogmx.dart';

void main() {
  print('=== catalogmx Dart/Flutter Package Examples ===\n');

  // RFC Examples
  print('--- RFC Validator ---');
  print('Generic RFC: ${validateRFC('XAXX010101000')}'); // true
  print('Persona Física: ${validateRFC('OEAF771012HM8')}'); // true
  print('Invalid RFC: ${validateRFC('INVALID')}\n'); // false

  // Generate RFC
  final rfc = generateRFC(
    nombre: 'Juan',
    apellidoPaterno: 'García',
    apellidoMaterno: 'López',
    fechaNacimiento: DateTime(1990, 5, 15),
  );
  print('Generated RFC: $rfc');
  print('Is valid: ${validateRFC(rfc)}\n');

  // CURP Examples
  print('--- CURP Validator ---');
  print('Valid CURP: ${validateCURP('OEAF771012HMCRGR09')}'); // true
  print('Invalid CURP: ${validateCURP('INVALID')}\n'); // false

  // Generate CURP
  final curp = generateCURP(
    nombre: 'Juan',
    apellidoPaterno: 'García',
    apellidoMaterno: 'López',
    fechaNacimiento: DateTime(1990, 5, 15),
    sexo: 'H',
    estado: 'Jalisco',
  );
  print('Generated CURP: $curp');
  print('Is valid: ${validateCURP(curp)}\n');

  // CLABE Examples
  print('--- CLABE Validator ---');
  print('Valid CLABE: ${validateCLABE('002010077777777771')}'); // true
  print('Invalid CLABE: ${validateCLABE('123')}\n'); // false

  // Generate CLABE
  final clabe = generateCLABE(
    bankCode: '002',
    branchCode: '010',
    accountNumber: '07777777777',
  );
  print('Generated CLABE: $clabe');
  print('Is valid: ${validateCLABE(clabe)}\n');

  // NSS Examples
  print('--- NSS Validator ---');
  print('Valid NSS: ${validateNSS('12345678903')}'); // true
  print('Invalid NSS: ${validateNSS('123')}\n'); // false

  // Generate NSS
  final nss = generateNSS(
    subdelegation: '12',
    year: '34',
    serial: '56',
    sequential: '7890',
  );
  print('Generated NSS: $nss');
  print('Is valid: ${validateNSS(nss)}\n');

  // Catalog Examples
  print('--- INEGI States Catalog ---');
  final states = InegStates.getAll();
  print('Total states: ${states.length}');

  final cdmx = InegStates.getByCode('DF');
  print('CDMX: ${cdmx!['name']} (${cdmx['abbreviation']})');

  final jalisco = InegStates.getByName('Jalisco');
  print('Jalisco code: ${jalisco!['code']}');

  print('\nSearch results for "mexico":');
  final searchResults = InegStates.search('mexico');
  for (final state in searchResults) {
    print('  - ${state['name']} (${state['code']})');
  }
}
0
likes
160
points
94
downloads

Publisher

unverified uploader

Weekly Downloads

Enterprise-grade Mexican data validation and official catalog library for Flutter/Dart - RFC, CURP, CLABE, NSS validators and 58+ government catalogs with 470K+ records

Repository (GitHub)
View/report issues

Topics

#mexico #validation #fintech #catalogs #sat

Documentation

Documentation
API reference

License

BSD-2-Clause (license)

Dependencies

diacritic, flutter, http, xml

More

Packages that depend on catalogmx

Packages that implement catalogmx