// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #import #import "FakeRCTBlobManager.h" @implementation FakeRCTBlobManager - (instancetype)init { if (self = [super init]) { _blobs = [NSMutableDictionary new]; } return self; } - (NSString*)store:(NSData*)data { NSString* blobId = [[NSUUID UUID] UUIDString]; _blobs[blobId] = data; return blobId; } - (NSData*)resolve:(NSString*)blobId offset:(long)offset size:(long)size { NSData* data = _blobs[blobId]; if (data == nil) { return nil; } return [data subdataWithRange:NSMakeRange(offset, size)]; } - (NSDictionary*)testCreateData:(NSData*)buffer { NSString* blobId = [self store:buffer]; return @{ @"blobId" : blobId, @"offset" : @0, @"size" : @(buffer.length), }; } - (NSString*)testGetData:(NSDictionary*)data { NSString* blobId = [data objectForKey:@"blobId"]; long size = [[data objectForKey:@"size"] longValue]; long offset = [[data objectForKey:@"offset"] longValue]; [self resolve:blobId offset:offset size:size]; return blobId; } @end