preloadAssets<T extends Object> static method

Future<void> preloadAssets<T extends Object>(
  1. T localObject
)

Implementation

static Future<void> preloadAssets<T extends Object>(T localObject) async
{
  var instanceMirror = reflector.reflect(localObject);
  var recordStructure = getRecordStructureFromLocalType(T);

  await Future.forEach(recordStructure.fields, (field) async {
    if ((field as CKFieldStructure).type == CKFieldType.ASSET_TYPE)
    {
      var assetObject = instanceMirror.invokeGetter(field.localName);
      if (assetObject == null) return;

      await (assetObject as CKAsset).fetchAsset();
    }
  });
}