2023-06-16 09:37:02 +00:00
|
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
|
// Licensed under the MIT License.
|
|
|
|
|
|
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
|
#import "FakeRCTBlobManager.h"
|
|
|
|
|
|
|
|
|
|
@implementation FakeRCTBlobManager
|
|
|
|
|
|
|
|
|
|
- (instancetype)init {
|
|
|
|
|
if (self = [super init]) {
|
|
|
|
|
_blobs = [NSMutableDictionary new];
|
|
|
|
|
}
|
|
|
|
|
return self;
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-14 23:51:22 +00:00
|
|
|
- (NSString*)store:(NSData*)data {
|
|
|
|
|
NSString* blobId = [[NSUUID UUID] UUIDString];
|
2023-06-16 09:37:02 +00:00
|
|
|
_blobs[blobId] = data;
|
|
|
|
|
return blobId;
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-14 23:51:22 +00:00
|
|
|
- (NSData*)resolve:(NSString*)blobId offset:(long)offset size:(long)size {
|
|
|
|
|
NSData* data = _blobs[blobId];
|
2023-06-16 09:37:02 +00:00
|
|
|
if (data == nil) {
|
|
|
|
|
return nil;
|
|
|
|
|
}
|
|
|
|
|
return [data subdataWithRange:NSMakeRange(offset, size)];
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-14 23:51:22 +00:00
|
|
|
- (NSDictionary*)testCreateData:(NSData*)buffer {
|
2023-06-16 09:37:02 +00:00
|
|
|
NSString* blobId = [self store:buffer];
|
|
|
|
|
return @{
|
2024-08-14 23:51:22 +00:00
|
|
|
@"blobId" : blobId,
|
|
|
|
|
@"offset" : @0,
|
|
|
|
|
@"size" : @(buffer.length),
|
2023-06-16 09:37:02 +00:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-14 23:51:22 +00:00
|
|
|
- (NSString*)testGetData:(NSDictionary*)data {
|
|
|
|
|
NSString* blobId = [data objectForKey:@"blobId"];
|
2023-06-16 09:37:02 +00:00
|
|
|
long size = [[data objectForKey:@"size"] longValue];
|
|
|
|
|
long offset = [[data objectForKey:@"offset"] longValue];
|
|
|
|
|
[self resolve:blobId offset:offset size:size];
|
|
|
|
|
return blobId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@end
|