- Added ability to pass in additional arguments in the factory function with a new method call [mapWithParams].
final injector = Injector.getInstance();
injector.mapWithParams<SomeType>((i, p) => new SomeType(p["id"]))
final instance = injector.get<SomeType>(additionalParameters: { "id": "some-id" });
print(istance.id) // prints 'some-id'
- Added ability to get all objects of the same mapped type
final injector = Injector.getInstance();
injector.map<SomeType>((injector) => new SomeType("0"));
injector.map<SomeType>((injector) => new SomeType("1"), key: "One");
injector.map<SomeType>((injector) => new SomeType("2"), key: "Two");
final instances = injector.getAll<SomeType>();
print(instances.length); // prints '3'
- Improved injector interface using generic types instead of a passed in a type to key an object factory
The new api to map and get a type instance
// the new api
final injector = Injector.getInstance();
injector.map<SomeType>((i) => new SomeType())
final instance = injector.get<SomeType>();
The old api to map and get a type instance
// the old api
final injector = Injector.getInstance();
injector.map(SomeType, (i) => new SomeType())
final instance = injector.get<SomeType>(SomeType);
- Fixed up linting and file formats
- Initial release