main function

void main()

Implementation

void main() {
  print('Testing Product Schema...');

  final productData = {
    'id': '123',
    'name': 'Test Product',
    'description': 'A test product',
    'price': 19.99,
    'category': {'id': 'cat1', 'name': 'Test Category'},
    'releaseDate': '2024-01-15',
    'createdAt': '2024-01-15T10:30:00Z',
    'stockQuantity': 100,
    'status': 'published',
    'productCode': 'ABC-1234',
    // Additional properties stored in metadata
    'brand': 'TestBrand',
    'color': 'Blue',
  };

  try {
    final result = productSchema.parse(productData) as Map<String, dynamic>;

    print('\nāœ… Schema validation successful!');
    print('   Product ID: ${result['id']}');
    print('   Product Name: ${result['name']}');
    print(
      '   Category: ${(result['category'] as Map<String, dynamic>)['name']}',
    );
    print('   Additional properties: ${result['metadata']}');
  } catch (e) {
    print('āŒ Schema validation error: $e');
  }

  print('\nšŸŽ‰ Product schema validation works!');
}