resolve method
Normalizes an application-relative object key.
The returned key does not include prefix.
Implementation
String resolve(String value) {
if (value.isEmpty) return '';
if (path.posix.isAbsolute(value)) {
throw ArgumentError.value(value, 'path', 'R2 keys must be relative.');
}
final normalized = path.posix.normalize(value);
if (normalized == '.') return '';
if (normalized == '..' || normalized.startsWith('../')) {
throw ArgumentError.value(
value,
'path',
'R2 key escapes the configured storage prefix.',
);
}
return normalized;
}