register method
Register a collection of specified modules for client integration.
Modules provide specific functionality to client integrations, and are available after registering with the following IaSdk.instance getter methods:
Implementation
Future<void> register({
required List<IaBase> modules,
}) async {
if (!_modulesRegistered) {
final arguments = _RequestModelRegisterModules(
modules: modules.map(
(moduleEntry) {
return moduleEntry.module;
},
).toList(),
);
return await _Methods.register.invoke(arguments).then((value) {
for (final module in modules) {
for (final internalModule
in <
({
IaBaseModule type,
Function(dynamic value) setProperty,
})
>{
(
type: IaBaseModule.cardLink,
setProperty: (value) => _cardLink = value,
),
(
type: IaBaseModule.ordering,
setProperty: (value) => _ordering = value,
),
(
type: IaBaseModule.overTheCounter,
setProperty: (value) => _overTheCounter = value,
),
(
type: IaBaseModule.pharmacyDetails,
setProperty: (value) => _pharmacy = value,
),
(
type: IaBaseModule.prescription,
setProperty: (value) => _prescription = value,
),
}) {
if (module.module == internalModule.type) {
internalModule.setProperty(module);
}
}
}
_modulesRegistered = true;
return value;
});
}
}