moz_utils 0.1.0 copy "moz_utils: ^0.1.0" to clipboard
moz_utils: ^0.1.0 copied to clipboard

Funções de utilidade para Moçambique — validação de NUIT, BI, documentos, e formatação de telefones.

moz-utils

Dart & Flutter

O Canivete Suíço para programadores em Moçambique — portado para Dart. Ideal para aplicações móveis e multi-plataforma desenvolvidas com Flutter.


📦 Instalação #

Pode adicionar a biblioteca ao seu projeto Flutter ou Dart. No seu ficheiro pubspec.yaml, adicione o pacote a partir do caminho local:

dependencies:
  moz_utils:
    path: ../caminho/para/moz-utils/dart

E execute:

dart pub get
# ou para projetos Flutter
flutter pub get

🚀 Guia de Referência da API #

Todas as utilidades são expostas como métodos estáticos na classe MozUtils.

1. Validação de Documentos #

MozUtils.isValidNUIT(dynamic nuit): bool

Valida se um NUIT é sintaticamente válido seguindo as regras da AT (Autoridade Tributária) baseadas no Módulo 11. Aceita tanto String quanto int.

import 'package:moz_utils/moz_utils.dart';

print(MozUtils.isValidNUIT('123456789')); // true
print(MozUtils.isValidNUIT(111111111));   // false

MozUtils.getNUITEntityType(dynamic nuit): String?

Classifica a entidade associada ao NUIT com base no primeiro dígito. Retorna null se for inválido.

import 'package:moz_utils/moz_utils.dart';

print(MozUtils.getNUITEntityType('100000008')); // "Singular (Cidadãos nacionais/estrangeiros e ENI)"
print(MozUtils.getNUITEntityType('400000006')); // "Colectiva (Sociedades por Quotas, SA, Lda, Associações)"

MozUtils.isValidBI(String bi): bool

Valida o Bilhete de Identidade moçambicano (12 dígitos + 1 letra). Ignora espaços e traços.

import 'package:moz_utils/moz_utils.dart';

print(MozUtils.isValidBI('110101234567A'));  // true
print(MozUtils.isValidBI('110101234567 a'));  // true

2. Telecomunicações e WhatsApp #

MozUtils.isValidMozambicanPhone(String phone): bool

Valida se o número pertence a uma operadora de telecomunicações móveis nacional (Vodacom, Tmcel ou Movitel).

import 'package:moz_utils/moz_utils.dart';

print(MozUtils.isValidMozambicanPhone('841234567'));     // true
print(MozUtils.isValidMozambicanPhone('+258861234567')); // true

MozUtils.formatMozambicanPhone(String phone): String

Formata o número de telemóvel para o padrão internacional: +258 XX XXX XXXX. Lança ArgumentError se for inválido.

import 'package:moz_utils/moz_utils.dart';

print(MozUtils.formatMozambicanPhone('841234567')); // "+258 84 123 4567"

MozUtils.getMobileOperator(String phone): String?

Identifica a operadora móvel ('Vodacom', 'Tmcel' ou 'Movitel').

import 'package:moz_utils/moz_utils.dart';

print(MozUtils.getMobileOperator('841234567')); // "Vodacom"

MozUtils.buildWhatsAppUrl(String phone, [String message = '']): String

Cria uma ligação direta para abrir uma conversa no WhatsApp.

import 'package:moz_utils/moz_utils.dart';

print(MozUtils.buildWhatsAppUrl('841234567', 'Olá Formiga Antonio, bem-vindo a Nampula!'));
// "https://wa.me/258841234567?text=Ol%C3%A1%20Formiga%20Antonio%2C%20bem-vindo%20a%20Nampula%21"

3. Moeda Nacional #

MozUtils.formatMZN(double value, [String currency = 'MT']): String

Formata valores monetários em Meticais de acordo com o padrão local (ex: 1 500,00 MT).

import 'package:moz_utils/moz_utils.dart';

print(MozUtils.formatMZN(1250.5));          // "1 250,50 MT"
print(MozUtils.formatMZN(10000000, 'MZN')); // "10 000 000,00 MZN"

4. Base Geográfica #

import 'package:moz_utils/moz_utils.dart';

// 1. Obter a lista completa com todas as províncias, distritos, postos e bairros
final provinces = MozUtils.getMozambiqueProvinces();

// 2. Obter distritos de uma província (ex: 'npl' para Nampula)
final districts = MozUtils.getDistrictsByProvince('npl'); // ['Angoche', 'Eráti', ...]

// 3. Obter todos os distritos planos do país
final allDistricts = MozUtils.getAllDistricts();

📄 Licença #

Este projeto é licenciado sob a licença AGPL-3.0-or-later.


Desenvolvido por Edmilson Muacigarro e contribuidores.

0
likes
0
points
481
downloads

Publisher

unverified uploader

Weekly Downloads

Funções de utilidade para Moçambique — validação de NUIT, BI, documentos, e formatação de telefones.

Repository (GitHub)
View/report issues

License

unknown (license)

More

Packages that depend on moz_utils