icons_helper 0.0.8

  • README.md
  • CHANGELOG.md
  • Installing
  • Versions
  • 55

icons_helper

This package's use case is to provide access to the full library of Icons and FontAwesomeIcons at runtime when the specific icons needed are not known at compile time. As such, all Tree Shaking is totally worked around/defeated for Icons and FontAwesomeIcons, so know that before you use the library. But since in our application, for example, the icon names come in from our backend and we don't want to have to re-release each time it specifies a new icon, we are GOOD with that. This is intentional so we can specify a new icon to be displayed just by sending that new text string in our push notification/record. This is a convenience package that provides bracket notiation access to Material Design Icons and Font Awesome Flutter icons (via @brianegan's font_awesome_flutter package). For now, I have just statically generated the Map to map string names to member names. This means any new icons won't be automatically discovered. There's a way to use codegen and mirror in a non-flutter dart app to generate this and then output/maintain them, but just using a google sheet and cut and pasting was faster for something I personally don't need to update often. That sheet is here at https://docs.google.com/spreadsheets/d/1IpWJytpkrJI9_9hwPKY5oXJLRLGjQuG3pUP7eUIqHn4/edit?usp=sharing. I started writing such a utility but gave up because it wasn't worth the time.

The methods you may want to consider using include:

getIconUsingPrefix(name: "PREFIX.ICON_NAME") - if PREFIX is "fa" or "fontawesome" the icon_name after the "." will be resolved against the font awesome icons first, if that fails, it'll go to Material Design Icons. If there is no PREFIX.ICON_NAME, it'll fail over to just trying to resolve Material First, then Font Awesome.

getIconGuessFavorFA(name:"ICON_NAME") - if there is an icon named ICON_NAME in FA, return that, otherwise, try Material

getIconGuessFavorMaterial(name:"ICON_NAME") - if there is an icon named ICON_NAME in Material Design, return that, otherwise, try FA

All methods will return null if icon doesn't exist.

Yes, this is a quick and dirty library that could use tons of improvement and does a lot of things poorly or doesn't do things. If you want to change/fix/help, submit a PR and I'll def accept all help that I think improves this lib.

I basically wrote this as a hack/work around to https://github.com/flutter/flutter/issues/16189.

Getting Started

For help getting started with Flutter, view the online documentation.

[0.0.7] - Formatting, et al.

  • Not any functional changes, just friendlier packaging items.

[0.0.1] - Initial release 29 July 2018.

  • Just the basic functions.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  icons_helper: ^0.0.8

2. Install it

You can install packages from the command line:

with pub:


$ pub get

with Flutter:


$ flutter packages get

Alternatively, your editor might support pub get or flutter packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:icons_helper/icons_helper.dart';
  
Version Uploaded Documentation Archive
0.0.8 Aug 25, 2018 Go to the documentation of icons_helper 0.0.8 Download icons_helper 0.0.8 archive
0.0.7 Aug 2, 2018 Go to the documentation of icons_helper 0.0.7 Download icons_helper 0.0.7 archive
0.0.6 Aug 2, 2018 Go to the documentation of icons_helper 0.0.6 Download icons_helper 0.0.6 archive
0.0.5 Aug 2, 2018 Go to the documentation of icons_helper 0.0.5 Download icons_helper 0.0.5 archive
0.0.4 Jul 29, 2018 Go to the documentation of icons_helper 0.0.4 Download icons_helper 0.0.4 archive
0.0.3 Jul 29, 2018 Go to the documentation of icons_helper 0.0.3 Download icons_helper 0.0.3 archive
0.0.2 Jul 29, 2018 Go to the documentation of icons_helper 0.0.2 Download icons_helper 0.0.2 archive
0.0.1 Jul 29, 2018 Go to the documentation of icons_helper 0.0.1 Download icons_helper 0.0.1 archive
Popularity:
Describes how popular the package is relative to other packages. [more]
79
Health:
Code health derived from static analysis. [more]
17
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
50
Overall:
Weighted score of the above. [more]
55
Learn more about scoring.

We analyzed this package on Dec 15, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.1.0
  • pana: 0.12.7
  • Flutter: 1.0.0

Platforms

Detected platforms:

Error(s) prevent platform classification:

Error(s) in lib/icons_helper.dart: Const variables must be initialized with a constant value.

Health issues and suggestions

Fix lib/icons_helper.dart. (-57.81 points)

Analysis of lib/icons_helper.dart failed with 3 errors:

line 963 col 14: Const variables must be initialized with a constant value.

line 963 col 14: The values in a const map literal must be constant.

line 963 col 31: The getter 'rendact' isn't defined for the class 'FontAwesomeIcons'.

Maintenance issues and suggestions

Fix platform conflicts. (-20 points)

Error(s) prevent platform classification:

Error(s) in lib/icons_helper.dart: Const variables must be initialized with a constant value.

Running dartdoc failed. (-10 points)

Make sure dartdoc runs without any issues.

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use icons_helper.dart.

Package is pre-v0.1 release. (-10 points)

While there is nothing inherently wrong with versions of 0.0.*, it usually means that the author is still experimenting with the general direction of the API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.19.0 <3.0.0
flutter 0.0.0
flutter_driver 0.0.0
font_awesome_flutter ^8.0.1 8.2.0
Transitive dependencies
async 2.0.8
boolean_selector 1.0.4
charcode 1.1.2
collection 1.14.11
convert 2.0.2
crypto 2.0.6
file 5.0.6 5.0.7
fuchsia_remote_debug_protocol 0.0.0
intl 0.15.7
json_rpc_2 2.0.9
matcher 0.12.3+1 0.12.4
meta 1.1.6
path 1.6.2
platform 2.2.0
process 3.0.9
pub_semver 1.4.2
quiver 2.0.1
sky_engine 0.0.99
source_span 1.4.1
stack_trace 1.9.3
stream_channel 1.6.8
string_scanner 1.0.4
term_glyph 1.0.1
test_api 0.2.1
typed_data 1.1.6
vector_math 2.0.8
vm_service_client 0.2.6
web_socket_channel 1.0.9
Dev dependencies
flutter_test 0.0.0
test any