PluginEntry class final
Immutable value object representing a single registered plugin entry inside
.artisan/plugins.json.
All fields are required. The registeredAt field carries an ISO-8601 UTC timestamp string rather than a DateTime so callers control formatting and the JSON representation stays human-readable without a custom encoder.
Constructors
- PluginEntry({required String name, required String providerImport, required String providerClass, required String registeredAt})
-
Creates a PluginEntry.
const
-
PluginEntry.fromJson(Map<
String, dynamic> json) -
Deserialises a PluginEntry from a JSON object map.
factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- name → String
-
Short, unique plugin identifier (e.g.
firebase_messaging).final - providerClass → String
-
Unqualified class name of the provider (e.g.
FirebaseServiceProvider).final - providerImport → String
-
Dart import URI for the provider class (e.g.
package:magic_firebase/src/firebase_service_provider.dart).final - registeredAt → String
-
ISO-8601 UTC timestamp recording when this entry was created or last
replaced (e.g.
2026-05-18T10:00:00.000Z).final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, dynamic> - Serialises this entry to a JSON-compatible map.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited