Adapts a user-provided LDStorage into the SDK's internal Storage.
The internal Storage contract requires implementations to never throw.
Since a custom LDStorage is application code, this wrapper guards every
call: synchronous throws and rejected promises are caught and logged, get
falls back to null, and set/clear resolve without surfacing the error.
This keeps a faulty storage implementation from crashing the host application.
Adapts a user-provided LDStorage into the SDK's internal Storage.
The internal Storage contract requires implementations to never throw. Since a custom LDStorage is application code, this wrapper guards every call: synchronous throws and rejected promises are caught and logged,
getfalls back tonull, andset/clearresolve without surfacing the error. This keeps a faulty storage implementation from crashing the host application.