asset method

String asset(
  1. String path, {
  2. Map<String, dynamic>? query,
})

Generate a URL to an asset.

Implementation

String asset(String path, {Map<String, dynamic>? query}) {
  final envBaseUrl = Env.get('APP_URL') ?? 'http://localhost:8080';
  final assetBase = _assetBaseUrl.isNotEmpty
      ? _assetBaseUrl
      : _normalizeBaseUrl(envBaseUrl);
  var assetUrl =
      '$assetBase/assets/${path.startsWith('/') ? path.substring(1) : path}';

  if (_forceHttps && assetUrl.startsWith('http://')) {
    assetUrl = assetUrl.replaceFirst('http://', 'https://');
  }

  if (query != null && query.isNotEmpty) {
    final queryString = _buildQueryString(query);
    assetUrl += '?$queryString';
  }

  return assetUrl;
}