metro/ny_cli library

Metro CLI - Nylo's command-line companion for scaffolding Flutter apps.

Provides the base classes and utilities for creating custom Metro commands.

Classes

ApiService
A simple API service that wraps Dio for making HTTP requests.
BackgroundTransformer
The default Transformer for Dio.
BaseOptions
A set of base settings for each Dio(). BaseOptions and Options will be merged into one RequestOptions before sending the requests. See Options.compose.
CancelToken
Controls cancellation of Dio's requests.
CommandBuilder
A fluent wrapper around ArgParser to make command definitions more readable.
CommandResult
Wrapper around ArgResults with convenient typed accessors.
CommandTask
Represents a task to be executed by the task runner
ConsoleProgressBar
A class that displays a progress bar in the console.
ConsoleSpinner
A class that handles showing a spinner animation in the console
ConsoleTable
A class that renders a formatted ASCII table in the console.
Dio
Dio enables you to make HTTP requests easily.
DioMixin
ErrorInterceptorHandler
The handler for interceptors to handle error occurred during the request.
FormData
A class to create readable "multipart/form-data" streams. It can be used to submit forms and file uploads to http server.
FusedTransformer
A Transformer that has a fast path for decoding UTF8-encoded JSON. If the response is utf8-encoded JSON and no custom decoder is specified in the RequestOptions, this transformer is significantly faster than the default SyncTransformer and the BackgroundTransformer. This improvement is achieved by using a fused Utf8Decoder and JsonDecoder to decode the response, which is faster than decoding the utf8-encoded JSON in two separate steps, since Dart uses a special fast decoder for this case. See https://github.com/dart-lang/sdk/blob/5b2ea0c7a227d91c691d2ff8cbbeb5f7f86afdb9/sdk/lib/_internal/vm/lib/convert_patch.dart#L40
Headers
The headers class for requests and responses.
HttpClientAdapter
HttpAdapter is a bridge between Dio and HttpClient.
Interceptor
Interceptor helps to deal with RequestOptions, Response, and DioException during the lifecycle of a request before it reaches users.
Interceptors
A Queue-Model list for Interceptors.
InterceptorsWrapper
A helper class to create interceptors in ease.
ListParam<T>
Indicates a param being used as queries or form data, and how does it gets formatted.
LogInterceptor
LogInterceptor is used to print logs during network requests. It should be the last interceptor added, otherwise modifications by following interceptors will not be logged. This is because the execution of interceptors is in the order of addition.
MetroConsole
Print messages in the console e.g. MetroConsole.writeInGreen('success');
MetroProjectFile
Model class used for creating files
MetroService
MultipartFile
An upload content that is a part of MultipartRequest. This doesn't need to correspond to a physical file.
NyCommand
Model class used for defining commands
NyCustomCommand
Base class for custom commands
NyJson
Helper to encode and decode JSON data
NyTemplate
Used for creating files.
Options
The configuration for a single request. BaseOptions and Options will be merged into one RequestOptions before sending the requests. See Options.compose.
QueuedInterceptor
Interceptor in queue.
QueuedInterceptorsWrapper
A helper class to create QueuedInterceptor in ease.
RedirectRecord
A record that records the redirection happens during requests, including status code, request method, and the location.
RequestInterceptorHandler
The handler for interceptors to handle before the request has been sent.
RequestOptions
The internal request option class that is the eventual result after BaseOptions and Options are composed.
Response<T>
The Response class contains the payload (could be transformed) that respond from the request, and other information of the response.
ResponseBody
The response wrapper class for adapters.
ResponseInterceptorHandler
The handler for interceptors to handle after respond.
ScaffoldFile
Represents a file to be scaffolded
SyncTransformer
If you want to custom the transformation of request/response data, you can provide a Transformer by your self, and replace the transformer by setting the Dio.transformer.
Transformer
Transformer allows changes to the request/response data before it is sent/received to/from the server.

Enums

DioExceptionType
The exception enumeration indicates what type of exception has happened during requests.
FileAccessMode
The file access mode when downloading a file, corresponds to a subset of dart:io::FileMode.
ListFormat
Specifies the array format (a single parameter with multiple parameter or multiple parameters with the same name). and the separator for array items.
ResponseType
Indicates which transformation should be applied to the response data.

Mixins

OptionsMixin
The mixin class for options that provides common attributes.

Extensions

IterableExtension on Iterable<T>
IterableExtension
SpinnerExtension on NyCustomCommand
Extension method to add spinner functionality to NyCustomCommand

Functions

capitalize(String input) String
Capitalize a String value. Accepts an input and returns a String.
createNyloModel(String classReCase, {required String stubModel, bool? hasForceFlag, String? creationPath, bool skipIfExist = false}) Future<void>
Creates a new Model file
defaultDioExceptionReadableStringBuilder(DioException e) String
The default implementation of building a readable string of DioException.
makeImportPathApiService(String name, {String creationPath = ""}) String
makeImportPathEvent(String name, {String creationPath = ""}) String
makeImportPathModel(String name, {String creationPath = ""}) String
makeImportPathProviders(String name, {String creationPath = ""}) String

Typedefs

DefaultTransformer = SyncTransformer
DioError = DioException
DioError describes the exception info when a request failed.
DioErrorType = DioExceptionType
Deprecated in favor of DioExceptionType and will be removed in future major versions.
DioExceptionReadableStringBuilder = String Function(DioException e)
The readable string builder's signature of DioException.readableStringBuilder.
DioMediaType = MediaType
The type (alias) for specifying the content-type of the MultipartFile.
HeaderForEachCallback = void Function(String name, List<String> values)
The signature that iterates header fields.
InterceptorErrorCallback = void Function(DioException error, ErrorInterceptorHandler handler)
The signature of Interceptor.onError.
InterceptorSendCallback = void Function(RequestOptions options, RequestInterceptorHandler handler)
The signature of Interceptor.onRequest.
InterceptorSuccessCallback = void Function(Response response, ResponseInterceptorHandler handler)
The signature of Interceptor.onResponse.
JsonDecodeCallback = FutureOr Function(String)
The callback definition for decoding a JSON string.
JsonEncodeCallback = FutureOr<String> Function(Object)
The callback definition for encoding a JSON object.
ProgressCallback = void Function(int count, int total)
The type of a progress listening callback when sending or receiving data.
RequestEncoder = FutureOr<List<int>> Function(String request, RequestOptions options)
The type of a request encoding callback.
ResponseDecoder = FutureOr<String?> Function(List<int> responseBytes, RequestOptions options, ResponseBody responseBody)
The type of a response decoding callback.
ValidateStatus = bool Function(int? status)
The type of a response status code validate callback.

Exceptions / Errors

ApiException
Exception thrown when an API request fails.
DioException
DioException describes the exception info when a request failed.
NetworkException
Exception thrown when a network error occurs.
NotNullableError<T>
A TypeError thrown by _checkNotNullable.
RequestCancelledException
Exception thrown when a request is cancelled.
TimeoutException
Exception thrown when a request times out.
UnknownException
Exception thrown when an unknown error occurs.