updateContext<T> method
Update context with key and value
key the name for the context (attribut) value can be int, double, String or boolean otherwise the update context skip with warnning log
Implementation
void updateContext<T>(String key, T value) {
var oldContext = Map.fromEntries(_context.entries);
/// Delegate the action to strategy to update
_visitorDelegate.updateContext(key, value);
// Check the eqaulity before raise the warning
if (mapEquals(oldContext, _context) == false) {
// if the context still the same then no need to raise the warning
// Update flagSyncStatus to raise a warning when access to flag
this._flagSyncStatus = FlagSyncStatus.CONTEXT_UPDATED;
this.flagStatus = FlagStatus.FETCH_REQUIRED;
this._fetchReasons =
FetchFlagsRequiredStatusReason.VISITOR_CONTEXT_UPDATED;
}
}