Skip to content

Instantly share code, notes, and snippets.

@yarn-rp
Created October 21, 2022 21:07
Show Gist options
  • Save yarn-rp/1b0fdd44c364333c085f57b4933dc8e1 to your computer and use it in GitHub Desktop.
Save yarn-rp/1b0fdd44c364333c085f57b4933dc8e1 to your computer and use it in GitHub Desktop.
import 'package:app_version_config_repository/app_version_config_repository.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter_boilerplate/core/error/error_messages.dart';
import 'package:flutter_boilerplate/core/error/exceptions.dart';
import 'package:flutter_boilerplate/domain/app_versioning/entities/app_version_entity.dart';
import 'package:flutter_boilerplate/domain/app_versioning/entities/upgrade_information_entity.dart';
import 'package:flutter_boilerplate/domain/app_versioning/results/app_version_result.dart';
import 'package:flutter_boilerplate/domain/app_versioning/results/validate_app_version_result.dart';
import 'package:flutter_boilerplate/domain/app_versioning/service_contracts/app_versioning_service_contract.dart';
import 'package:injectable/injectable.dart';
import 'package:new_version/new_version.dart';
import 'package:package_info_plus/package_info_plus.dart';
@Singleton(as: AppVersioningServiceContract)
class AppVersioningServiceLogic implements AppVersioningServiceContract {
// Constructor that tells injectable which dependencies should inject
AppVersioningServiceLogic({
required PackageInfo packageInfo,
required NewVersion newVersion,
required AppVersionConfigRepository appVersionConfigRepository,
}) : _packageInfo = packageInfo,
_newVersion = newVersion,
_appVersionConfigRepository = appVersionConfigRepository;
final PackageInfo _packageInfo;
final NewVersion _newVersion;
final AppVersionConfigRepository _appVersionConfigRepository;
// Class implementation stuff
}
// GENERATED CODE - DO NOT MODIFY BY HAND
// **************************************************************************
// InjectableConfigGenerator
// **************************************************************************
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:app_version_config_repository/app_version_config_repository.dart'
as _i7;
import 'package:flutter_boilerplate/domain/app_versioning/service_contracts/app_versioning_service_contract.dart'
as _i3;
import 'package:flutter_boilerplate/domain/app_versioning/service_logics/app_versioning_service_logic.dart'
as _i4;
import 'package:get_it/get_it.dart' as _i1;
import 'package:injectable/injectable.dart' as _i2;
import 'package:new_version/new_version.dart' as _i6;
import 'package:package_info_plus/package_info_plus.dart'
as _i5; // ignore_for_file: unnecessary_lambdas
// ignore_for_file: lines_longer_than_80_chars
/// initializes the registration of provided dependencies inside of [GetIt]
_i1.GetIt $initGetIt(
_i1.GetIt get, {
String? environment,
_i2.EnvironmentFilter? environmentFilter,
}) {
final gh = _i2.GetItHelper(
get,
environment,
environmentFilter,
);
gh.singleton<_i3.AppVersioningServiceContract>(_i4.AppVersioningServiceLogic(
packageInfo: get<_i5.PackageInfo>(),
newVersion: get<_i6.NewVersion>(),
appVersionConfigRepository: get<_i7.AppVersionConfigRepository>(),
));
return get;
}
import 'dart:async';
import 'package:flutter_boilerplate/core/env/app_environment.dart';
import 'package:flutter_boilerplate/injection_container/domain/config_domain.config.dart';
import 'package:get_it/get_it.dart';
import 'package:injectable/injectable.dart';
@InjectableInit(
generateForDir: ['lib/domain'],
preferRelativeImports: false,
)
FutureOr<void> configureDomainDependencies(
GetIt getIt, {
AppEnvironment? environment,
EnvironmentFilter? environmentFilter,
}) =>
$initGetIt(
getIt,
environment: environment?.name,
environmentFilter: environmentFilter,
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment