// SPDX-FileCopyrightText: 2022 Jinsong, Zhu <jasonzjs@amazon.com> // // SPDX-License-Identifier: MIT-0 class StorageUrlCache { StorageUrlCache._privateConstructor(); static final StorageUrlCache _instance = StorageUrlCache._privateConstructor(); static StorageUrlCache get instance => _instance; final Map<String, String> _urlCache = {}; Future<String> getUrl( String imageKey, Future<String> Function() getUrl, ) async { var url = _urlCache[imageKey]; if (url == null) { url = await getUrl(); _urlCache[imageKey] = url; } return url; } }