swagger_dart_generator 1.2.0 copy "swagger_dart_generator: ^1.2.0" to clipboard
swagger_dart_generator: ^1.2.0 copied to clipboard

A Dart code generator that creates complete Data Layer a Package for Flutter project structure from Swagger/OpenAPI JSON files

example/lib/example.dart

import 'package:dio/dio.dart';
import 'package:example/failure.dart';
import 'package:example/data/datasources/auth/auth.dart';
import 'package:example/data/datasources/auth/auth_remote_datasource_impl.dart';
import 'package:example/data/repositories/auth/auth.dart';
import 'package:example/data/repositories/auth/auth_repository_impl.dart';
import 'package:example/data/datasources/user/user.dart';
import 'package:example/data/datasources/user/user_remote_datasource_impl.dart';
import 'package:example/data/repositories/user/user.dart';
import 'package:example/data/repositories/user/user_repository_impl.dart';
import 'package:example/data/datasources/product/product.dart';
import 'package:example/data/datasources/product/product_remote_datasource_impl.dart';
import 'package:example/data/repositories/product/product.dart';
import 'package:example/data/repositories/product/product_repository_impl.dart';
class Example {
  static Example? _instance;
  final Dio _dio;
  final Failure mainFailure;
  Example._internal(this._dio, this.mainFailure);
  static Example init(Dio dio, [Failure mainFailure = const DefaultFailure()]) => _instance ??= Example._internal(dio, mainFailure);

  Repository? _repository;
  Repository get repository => _repository ??= Repository.init(_dio, mainFailure);
}

class Repository {
  static Repository? _instance;
  final Dio _dio;
  final Failure mainFailure;
  Repository._internal(this._dio, this.mainFailure);
  static Repository init(Dio dio, Failure mainFailure) => _instance ??= Repository._internal(dio, mainFailure);

  AuthRepository? _auth;
  AuthRepository get auth => _auth ??= AuthRepositoryImpl(DataSource.init(_dio).auth, mainFailure);
  UserRepository? _user;
  UserRepository get user => _user ??= UserRepositoryImpl(DataSource.init(_dio).user, mainFailure);
  ProductRepository? _product;
  ProductRepository get product => _product ??= ProductRepositoryImpl(DataSource.init(_dio).product, mainFailure);
}

class DataSource {
  static DataSource? _instance;
  final Dio _dio;
  DataSource._internal(this._dio);
  static DataSource init(Dio dio) => _instance ??= DataSource._internal(dio);

  AuthDataSource? _auth;
  AuthDataSource get auth => _auth ??= AuthRemoteDataSourceImpl(_dio);
  UserDataSource? _user;
  UserDataSource get user => _user ??= UserRemoteDataSourceImpl(_dio);
  ProductDataSource? _product;
  ProductDataSource get product => _product ??= ProductRemoteDataSourceImpl(_dio);
}
2
likes
150
points
698
downloads
screenshot

Publisher

verified publisheralghanem.de

Weekly Downloads

A Dart code generator that creates complete Data Layer a Package for Flutter project structure from Swagger/OpenAPI JSON files

Repository (GitHub)
View/report issues

Topics

#cli #clean #codegen #swagger #openapi

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

path

More

Packages that depend on swagger_dart_generator