Files
flipper/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FKDataStorageForLiveEditing.mm
Roman Gorbunov 89911acd84 Made a DataStorage for live editing in flipper
Summary: Theadsafe Data Storage for new insets in CKInsetComponent

Reviewed By: kevin0571

Differential Revision: D16338091

fbshipit-source-id: 3b77652a4d08cfebce115a606af3fc3440a1aca0
2019-07-25 04:03:02 -07:00

27 lines
796 B
Plaintext

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the LICENSE
* file in the root directory of this source tree.
*/
#import "FKDataStorageForLiveEditing.h"
#import <ComponentKit/CKComponentScopeTypes.h>
#import <mutex>
@implementation FKDataStorageForLiveEditing {
std::unordered_map<CKTreeNodeIdentifier, id> _data;
std::mutex _mutex;
}
- (void)setData:(id)value forTreeNodeIdentifier:(CKTreeNodeIdentifier)treeNodeIdentifier {
std::lock_guard<std::mutex> lock(_mutex);
_data[treeNodeIdentifier] = value;
}
- (id)dataForTreeNodeIdentifier:(CKTreeNodeIdentifier)treeNodeIdentifier {
std::lock_guard<std::mutex> lock(_mutex);
return (_data.count(treeNodeIdentifier) ? _data[treeNodeIdentifier] : nil);
}
@end