Refactor Layout Plugin

Summary:
This diff moves the iOS descriptors and other layout helpers into its own buck target. Earlier everything was part of the FlipperKitLayoutPlugin target. When kcui, tried to add macos descriptors, we realised that FlipperKitLayoutPlugin doesn't have macos platform in it and thus he had to put #if TARGET_OS_SIMULATOR check in iOS descriptors and at some other places.

In order to make the integration easier I decided to split the Layout Plugin in following way.

```
FlipperKitLayoutPlugin
  -> FlipperKitLayoutIOSDescriptors (platform set as IOS)
  -> FlipperKitLayoutHelpers (used in iOS Descriptors and usefule for Macos too)
  -> FlipperKitLayoutMacOSDescriptors(coming soon by kcui)(platform set as MacOS)

```

Reviewed By: kcui

Differential Revision: D27127587

fbshipit-source-id: f108ef81914297e93c886fe53dabf0a4bf11ebc1
This commit is contained in:
Pritesh Nandgaonkar
2021-03-25 15:59:15 -07:00
committed by Facebook GitHub Bot
parent 8c85da5bc8
commit 790f23301e
61 changed files with 133 additions and 80 deletions

View File

@@ -102,25 +102,40 @@ Pod::Spec.new do |spec|
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutTextSearchable/FKTextSearchable.h' ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutTextSearchable/FKTextSearchable.h'
end end
spec.subspec 'FlipperKitLayoutHelpers' do |ss|
ss.header_dir = 'FlipperKitLayoutHelpers'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/**/**/*.{h,mm,m}'
ss.public_header_files = 'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/SKTapListener.h',
'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/SKInvalidation.h',
'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/FlipperKitLayoutDescriptorMapperProtocol.h',
'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/SKTouch.h',
'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/SKNamed.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/SKObject.h',
'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/utils/SKYogaKitHelper.h'
end
spec.subspec 'FlipperKitLayoutIOSDescriptors' do |ss|
ss.header_dir = 'FlipperKitLayoutIOSDescriptors'
ss.compiler_flags = folly_compiler_flags
ss.source_files = 'iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutIOSDescriptors/**/*.{h,mm,m}'
end
spec.subspec "FlipperKitLayoutPlugin" do |ss| spec.subspec "FlipperKitLayoutPlugin" do |ss|
ss.header_dir = "FlipperKitLayoutPlugin" ss.header_dir = "FlipperKitLayoutPlugin"
ss.dependency 'FlipperKit/Core' ss.dependency 'FlipperKit/Core'
ss.dependency 'FlipperKit/FlipperKitLayoutTextSearchable' ss.dependency 'FlipperKit/FlipperKitLayoutTextSearchable'
ss.dependency 'FlipperKit/FlipperKitHighlightOverlay' ss.dependency 'FlipperKit/FlipperKitHighlightOverlay'
ss.dependency 'FlipperKit/FlipperKitLayoutHelpers'
ss.dependency 'FlipperKit/FlipperKitLayoutIOSDescriptors'
ss.dependency 'YogaKit', yogakit_version ss.dependency 'YogaKit', yogakit_version
ss.compiler_flags = folly_compiler_flags ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h', ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTapListener.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKInvalidation.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h' 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKDescriptorMapper.h'
ss.private_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKTouch.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNodeDescriptor.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKNamed.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/UIColor+SKSonarValueCoder.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKObjectHash.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKSwizzle.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/utils/SKYogaKitHelper.h'
ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}' ss.source_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/**/*.{h,cpp,m,mm}'
ss.exclude_files = ['iOS/Plugins/FlipperKitLayoutPlugin/fb/*','iOS/Plugins/FlipperKitLayoutPlugin/facebook/*','iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/fb/*' ,'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/facebook/*'] ss.exclude_files = ['iOS/Plugins/FlipperKitLayoutPlugin/fb/*','iOS/Plugins/FlipperKitLayoutPlugin/facebook/*','iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/fb/*' ,'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/facebook/*']
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**", "ONLY_ACTIVE_ARCH": "YES" } ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**", "ONLY_ACTIVE_ARCH": "YES" }
@@ -134,6 +149,7 @@ Pod::Spec.new do |spec|
ss.dependency 'FlipperKit/FlipperKitLayoutPlugin' ss.dependency 'FlipperKit/FlipperKitLayoutPlugin'
ss.dependency 'FlipperKit/FlipperKitLayoutTextSearchable' ss.dependency 'FlipperKit/FlipperKitLayoutTextSearchable'
ss.dependency 'FlipperKit/FlipperKitHighlightOverlay' ss.dependency 'FlipperKit/FlipperKitHighlightOverlay'
ss.dependency 'FlipperKit/FlipperKitLayoutHelpers'
ss.compiler_flags = folly_compiler_flags ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h', ss.public_header_files = 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h',
'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h' 'iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKSubDescriptor.h'

View File

@@ -9,8 +9,8 @@
#import "CKCenterLayoutComponent+Sonar.h" #import "CKCenterLayoutComponent+Sonar.h"
#import <FlipperKitLayoutPlugin/SKNamed.h> #import <FlipperKitLayoutHelpers/SKNamed.h>
#import <FlipperKitLayoutPlugin/SKObject.h> #import <FlipperKitLayoutHelpers/SKObject.h>
#import "CKComponent+Sonar.h" #import "CKComponent+Sonar.h"

View File

@@ -7,8 +7,8 @@
#import <ComponentKit/CKComponent.h> #import <ComponentKit/CKComponent.h>
#import <FlipperKit/SKMacros.h> #import <FlipperKit/SKMacros.h>
#import <FlipperKitLayoutPlugin/SKNamed.h> #import <FlipperKitLayoutHelpers/SKNamed.h>
#import <FlipperKitLayoutPlugin/SKNodeDescriptor.h> #import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
typedef id (^SKNodeDataChanged)(id value); typedef id (^SKNodeDataChanged)(id value);

View File

@@ -16,8 +16,8 @@
#import <ComponentKit/CKComponentSubclass.h> #import <ComponentKit/CKComponentSubclass.h>
#import <ComponentKit/CKComponentViewConfiguration.h> #import <ComponentKit/CKComponentViewConfiguration.h>
#import <ComponentKit/CKMutex.h> #import <ComponentKit/CKMutex.h>
#import <FlipperKitLayoutPlugin/SKNamed.h> #import <FlipperKitLayoutHelpers/SKNamed.h>
#import <FlipperKitLayoutPlugin/SKObject.h> #import <FlipperKitLayoutHelpers/SKObject.h>
#import <objc/message.h> #import <objc/message.h>
#import <objc/runtime.h> #import <objc/runtime.h>

View File

@@ -9,8 +9,8 @@
#import "CKFlexboxComponent+Sonar.h" #import "CKFlexboxComponent+Sonar.h"
#import <FlipperKitLayoutPlugin/SKNamed.h> #import <FlipperKitLayoutHelpers/SKNamed.h>
#import <FlipperKitLayoutPlugin/SKObject.h> #import <FlipperKitLayoutHelpers/SKObject.h>
#import "CKComponent+Sonar.h" #import "CKComponent+Sonar.h"
#import "Utils.h" #import "Utils.h"

View File

@@ -10,8 +10,8 @@
#import "CKInsetComponent+Sonar.h" #import "CKInsetComponent+Sonar.h"
#import <ComponentKit/CKDimension.h> #import <ComponentKit/CKDimension.h>
#import <FlipperKitLayoutPlugin/SKNamed.h> #import <FlipperKitLayoutHelpers/SKNamed.h>
#import <FlipperKitLayoutPlugin/SKObject.h> #import <FlipperKitLayoutHelpers/SKObject.h>
#import "CKComponent+Sonar.h" #import "CKComponent+Sonar.h"

View File

@@ -9,8 +9,8 @@
#import "CKRatioLayoutComponent+Sonar.h" #import "CKRatioLayoutComponent+Sonar.h"
#import <FlipperKitLayoutPlugin/SKNamed.h> #import <FlipperKitLayoutHelpers/SKNamed.h>
#import <FlipperKitLayoutPlugin/SKObject.h> #import <FlipperKitLayoutHelpers/SKObject.h>
#import "CKComponent+Sonar.h" #import "CKComponent+Sonar.h"

View File

@@ -9,8 +9,8 @@
#import "CKStatelessComponent+Sonar.h" #import "CKStatelessComponent+Sonar.h"
#import <FlipperKitLayoutPlugin/SKNamed.h> #import <FlipperKitLayoutHelpers/SKNamed.h>
#import <FlipperKitLayoutPlugin/SKObject.h> #import <FlipperKitLayoutHelpers/SKObject.h>
#import "CKComponent+Sonar.h" #import "CKComponent+Sonar.h"

View File

@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.
*/ */
#import <FlipperKitLayoutPlugin/SKNodeDescriptor.h> #import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
#import "SKSubDescriptor.h" #import "SKSubDescriptor.h"

View File

@@ -24,7 +24,7 @@
#import <ComponentKit/CKInsetComponent.h> #import <ComponentKit/CKInsetComponent.h>
#import <FlipperKitHighlightOverlay/SKHighlightOverlay.h> #import <FlipperKitHighlightOverlay/SKHighlightOverlay.h>
#import <FlipperKitLayoutPlugin/SKObject.h> #import <FlipperKitLayoutHelpers/SKObject.h>
#import <FlipperKitLayoutTextSearchable/FKTextSearchable.h> #import <FlipperKitLayoutTextSearchable/FKTextSearchable.h>
#import "CKComponent+Sonar.h" #import "CKComponent+Sonar.h"

View File

@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.
*/ */
#import <FlipperKitLayoutPlugin/SKNodeDescriptor.h> #import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
@class SKComponentMountedView; @class SKComponentMountedView;

View File

@@ -13,7 +13,7 @@
#import <ComponentKit/CKComponentInternal.h> #import <ComponentKit/CKComponentInternal.h>
#import <FlipperKitHighlightOverlay/SKHighlightOverlay.h> #import <FlipperKitHighlightOverlay/SKHighlightOverlay.h>
#import <FlipperKitLayoutPlugin/SKObject.h> #import <FlipperKitLayoutHelpers/SKObject.h>
#import <FlipperKitLayoutTextSearchable/FKTextSearchable.h> #import <FlipperKitLayoutTextSearchable/FKTextSearchable.h>
#import "CKComponent+Sonar.h" #import "CKComponent+Sonar.h"

View File

@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.
*/ */
#import <FlipperKitLayoutPlugin/SKNodeDescriptor.h> #import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
@class CKComponentRootView; @class CKComponentRootView;

View File

@@ -16,8 +16,8 @@
#import <ComponentKit/CKComponentLayout.h> #import <ComponentKit/CKComponentLayout.h>
#import <ComponentKit/CKComponentRootViewInternal.h> #import <ComponentKit/CKComponentRootViewInternal.h>
#import <FlipperKitLayoutHelpers/SKObject.h>
#import <FlipperKitLayoutPlugin/SKDescriptorMapper.h> #import <FlipperKitLayoutPlugin/SKDescriptorMapper.h>
#import <FlipperKitLayoutPlugin/SKObject.h>
#import "SKComponentLayoutWrapper.h" #import "SKComponentLayoutWrapper.h"

View File

@@ -7,14 +7,15 @@
#if FB_SONARKIT_ENABLED #if FB_SONARKIT_ENABLED
#import "SKDescriptorMapper.h"
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import <FlipperKit/FlipperPlugin.h> #import <FlipperKit/FlipperPlugin.h>
#import <FlipperKit/SKMacros.h> #import <FlipperKit/SKMacros.h>
#import "SKDescriptorMapper.h" #import <FlipperKitLayoutHelpers/SKInvalidation.h>
#import "SKInvalidation.h" #import <FlipperKitLayoutHelpers/SKTapListener.h>
#import "SKTapListener.h"
@interface FlipperKitLayoutPlugin @interface FlipperKitLayoutPlugin
: NSObject<FlipperPlugin, SKInvalidationDelegate> : NSObject<FlipperPlugin, SKInvalidationDelegate>

View File

@@ -13,12 +13,12 @@
#import <FlipperKit/FlipperConnection.h> #import <FlipperKit/FlipperConnection.h>
#import <FlipperKit/FlipperResponder.h> #import <FlipperKit/FlipperResponder.h>
#import <FlipperKit/SKMacros.h> #import <FlipperKit/SKMacros.h>
#import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
#import <FlipperKitLayoutHelpers/SKSearchResultNode.h>
#import <FlipperKitLayoutHelpers/SKTapListener.h>
#import <FlipperKitLayoutHelpers/SKTapListenerImpl.h>
#import <mutex> #import <mutex>
#import "SKDescriptorMapper.h" #import "SKDescriptorMapper.h"
#import "SKNodeDescriptor.h"
#import "SKSearchResultNode.h"
#import "SKTapListener.h"
#import "SKTapListenerImpl.h"
NSObject* parseLayoutEditorMessage(NSObject* message); NSObject* parseLayoutEditorMessage(NSObject* message);
NSObject* flattenLayoutEditorMessage(NSObject* field); NSObject* flattenLayoutEditorMessage(NSObject* field);

View File

@@ -5,11 +5,11 @@
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.
*/ */
#import <FlipperKitLayoutHelpers/FlipperKitLayoutDescriptorMapperProtocol.h>
#import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
@class SKNodeDescriptor; @interface SKDescriptorMapper : NSObject<SKDescriptorMapperProtocol>
@interface SKDescriptorMapper : NSObject
- (instancetype)initWithDefaults; - (instancetype)initWithDefaults;

View File

@@ -9,11 +9,11 @@
#import "SKDescriptorMapper.h" #import "SKDescriptorMapper.h"
#import "SKApplicationDescriptor.h" #import <FlipperKitLayoutIOSDescriptors/SKApplicationDescriptor.h>
#import "SKButtonDescriptor.h" #import <FlipperKitLayoutIOSDescriptors/SKButtonDescriptor.h>
#import "SKScrollViewDescriptor.h" #import <FlipperKitLayoutIOSDescriptors/SKScrollViewDescriptor.h>
#import "SKViewControllerDescriptor.h" #import <FlipperKitLayoutIOSDescriptors/SKViewControllerDescriptor.h>
#import "SKViewDescriptor.h" #import <FlipperKitLayoutIOSDescriptors/SKViewDescriptor.h>
@implementation SKDescriptorMapper { @implementation SKDescriptorMapper {
NSMutableDictionary<NSString*, SKNodeDescriptor*>* _descriptors; NSMutableDictionary<NSString*, SKNodeDescriptor*>* _descriptors;

View File

@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.
*/ */
#import <FlipperKitLayoutPlugin/SKTapListener.h> #import <FlipperKitLayoutHelpers/SKTapListener.h>
@interface SKTapListenerMock : NSObject<SKTapListener> @interface SKTapListenerMock : NSObject<SKTapListener>

View File

@@ -9,9 +9,9 @@
#if FB_SONARKIT_ENABLED #if FB_SONARKIT_ENABLED
#import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h> #import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitLayoutPlugin/SKDescriptorMapper.h> #import <FlipperKitLayoutPlugin/SKDescriptorMapper.h>
#import <FlipperKitLayoutPlugin/SKNodeDescriptor.h>
#import <FlipperKitTestUtils/FlipperConnectionMock.h> #import <FlipperKitTestUtils/FlipperConnectionMock.h>
#import <FlipperKitTestUtils/FlipperResponderMock.h> #import <FlipperKitTestUtils/FlipperResponderMock.h>

View File

@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.
*/ */
#import <FlipperKitLayoutPlugin/SKNodeDescriptor.h> #import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
#import "TestNode.h" #import "TestNode.h"

View File

@@ -0,0 +1,22 @@
/*
* 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 <Foundation/Foundation.h>
@class SKNodeDescriptor;
@protocol SKDescriptorMapperProtocol<NSObject>
- (instancetype)initWithDefaults;
- (SKNodeDescriptor*)descriptorForClass:(Class)cls;
- (void)registerDescriptor:(SKNodeDescriptor*)descriptor forClass:(Class)cls;
- (NSArray<SKNodeDescriptor*>*)allDescriptors;
@end

View File

@@ -7,7 +7,7 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "SKDescriptorMapper.h" #import <FlipperKitLayoutHelpers/FlipperKitLayoutDescriptorMapperProtocol.h>
#import "SKNamed.h" #import "SKNamed.h"
#import "SKTouch.h" #import "SKTouch.h"
@@ -30,7 +30,7 @@ typedef void (^SKNodeUpdateData)(id value);
Initializes the node-descriptor with a SKDescriptorMapper which contains Initializes the node-descriptor with a SKDescriptorMapper which contains
mappings between Class -> SKNodeDescriptor<Class>. mappings between Class -> SKNodeDescriptor<Class>.
*/ */
- (instancetype)initWithDescriptorMapper:(SKDescriptorMapper*)mapper; - (instancetype)initWithDescriptorMapper:(id<SKDescriptorMapperProtocol>)mapper;
/** /**
Gets the node-descriptor registered for a specific class. Gets the node-descriptor registered for a specific class.

View File

@@ -11,13 +11,14 @@
#import <FlipperKitLayoutTextSearchable/FKTextSearchable.h> #import <FlipperKitLayoutTextSearchable/FKTextSearchable.h>
@implementation SKNodeDescriptor { @implementation SKNodeDescriptor {
SKDescriptorMapper* _mapper; id<SKDescriptorMapperProtocol> _mapper;
} }
- (void)setUp { - (void)setUp {
} }
- (instancetype)initWithDescriptorMapper:(SKDescriptorMapper*)mapper { - (instancetype)initWithDescriptorMapper:
(id<SKDescriptorMapperProtocol>)mapper {
if (self = [super init]) { if (self = [super init]) {
_mapper = mapper; _mapper = mapper;
} }

View File

@@ -5,10 +5,9 @@
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.
*/ */
#import <FlipperKitLayoutHelpers/FlipperKitLayoutDescriptorMapperProtocol.h>
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "SKDescriptorMapper.h"
typedef void (^SKTouchFinishDelegate)(id<NSObject> currentNode); typedef void (^SKTouchFinishDelegate)(id<NSObject> currentNode);
typedef void (^SKProcessFinishDelegate)(NSDictionary* tree); typedef void (^SKProcessFinishDelegate)(NSDictionary* tree);
@@ -16,7 +15,7 @@ typedef void (^SKProcessFinishDelegate)(NSDictionary* tree);
- (instancetype)initWithTouchPoint:(CGPoint)touchPoint - (instancetype)initWithTouchPoint:(CGPoint)touchPoint
withRootNode:(id<NSObject>)node withRootNode:(id<NSObject>)node
withDescriptorMapper:(SKDescriptorMapper*)mapper withDescriptorMapper:(id<SKDescriptorMapperProtocol>)mapper
finishWithBlock:(SKTouchFinishDelegate)d; finishWithBlock:(SKTouchFinishDelegate)d;
- (void)continueWithChildIndex:(NSUInteger)childIndex - (void)continueWithChildIndex:(NSUInteger)childIndex

View File

@@ -15,7 +15,7 @@
CGPoint _currentTouchPoint; CGPoint _currentTouchPoint;
SKDescriptorMapper* _descriptorMapper; id<SKDescriptorMapperProtocol> _descriptorMapper;
NSMutableArray<id<NSObject>>* _nodeStack; NSMutableArray<id<NSObject>>* _nodeStack;
NSMutableArray<NSMutableDictionary*>* _treeStack; NSMutableArray<NSMutableDictionary*>* _treeStack;
@@ -23,7 +23,7 @@
- (instancetype)initWithTouchPoint:(CGPoint)touchPoint - (instancetype)initWithTouchPoint:(CGPoint)touchPoint
withRootNode:(id<NSObject>)node withRootNode:(id<NSObject>)node
withDescriptorMapper:(SKDescriptorMapper*)mapper withDescriptorMapper:(id<SKDescriptorMapperProtocol>)mapper
finishWithBlock:(SKTouchFinishDelegate)finishBlock { finishWithBlock:(SKTouchFinishDelegate)finishBlock {
if (self = [super init]) { if (self = [super init]) {
_onFinish = finishBlock; _onFinish = finishBlock;

View File

@@ -7,7 +7,9 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "SKNodeDescriptor.h" #import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
@class SKDescriptorMapper;
@interface SKApplicationDescriptor : SKNodeDescriptor<UIApplication*> @interface SKApplicationDescriptor : SKNodeDescriptor<UIApplication*>

View File

@@ -9,9 +9,8 @@
#import "SKApplicationDescriptor.h" #import "SKApplicationDescriptor.h"
#import <FlipperKitLayoutHelpers/SKHiddenWindow.h>
#import <objc/runtime.h> #import <objc/runtime.h>
#import "SKDescriptorMapper.h"
#import "SKHiddenWindow.h"
@implementation SKApplicationDescriptor @implementation SKApplicationDescriptor

View File

@@ -7,9 +7,10 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "SKNodeDescriptor.h" #import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
@class UIButton; @class UIButton;
@class SKDescriptorMapper;
@interface SKButtonDescriptor : SKNodeDescriptor<UIButton*> @interface SKButtonDescriptor : SKNodeDescriptor<UIButton*>

View File

@@ -9,9 +9,8 @@
#import "SKButtonDescriptor.h" #import "SKButtonDescriptor.h"
#import "SKDescriptorMapper.h" #import <FlipperKitLayoutHelpers/SKObject.h>
#import "SKObject.h" #import <FlipperKitLayoutHelpers/UIColor+SKSonarValueCoder.h>
#import "UIColor+SKSonarValueCoder.h"
@implementation SKButtonDescriptor @implementation SKButtonDescriptor

View File

@@ -7,7 +7,9 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "SKNodeDescriptor.h" #import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
@class SKDescriptorMapper;
@interface SKScrollViewDescriptor : SKNodeDescriptor<UIScrollView*> @interface SKScrollViewDescriptor : SKNodeDescriptor<UIScrollView*>

View File

@@ -9,8 +9,6 @@
#import "SKScrollViewDescriptor.h" #import "SKScrollViewDescriptor.h"
#import "SKDescriptorMapper.h"
@implementation SKScrollViewDescriptor @implementation SKScrollViewDescriptor
- (NSString*)identifierForNode:(UIScrollView*)node { - (NSString*)identifierForNode:(UIScrollView*)node {

View File

@@ -9,7 +9,9 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "SKNodeDescriptor.h" #import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
@class SKDescriptorMapper;
@interface SKViewControllerDescriptor : SKNodeDescriptor<UIViewController*> @interface SKViewControllerDescriptor : SKNodeDescriptor<UIViewController*>

View File

@@ -9,8 +9,6 @@
#import "SKViewControllerDescriptor.h" #import "SKViewControllerDescriptor.h"
#import "SKDescriptorMapper.h"
@implementation SKViewControllerDescriptor @implementation SKViewControllerDescriptor
- (NSString*)identifierForNode:(UIViewController*)node { - (NSString*)identifierForNode:(UIViewController*)node {

View File

@@ -9,7 +9,9 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "SKNodeDescriptor.h" #import <FlipperKitLayoutHelpers/SKNodeDescriptor.h>
@class SKDescriptorMapper;
@interface SKViewDescriptor : SKNodeDescriptor<UIView*> @interface SKViewDescriptor : SKNodeDescriptor<UIView*>

View File

@@ -10,13 +10,13 @@
#import "SKViewDescriptor.h" #import "SKViewDescriptor.h"
#import <FlipperKitHighlightOverlay/SKHighlightOverlay.h> #import <FlipperKitHighlightOverlay/SKHighlightOverlay.h>
#import <FlipperKitLayoutHelpers/FlipperKitLayoutDescriptorMapperProtocol.h>
#import <FlipperKitLayoutHelpers/SKHiddenWindow.h>
#import <FlipperKitLayoutHelpers/SKNamed.h>
#import <FlipperKitLayoutHelpers/SKObject.h>
#import <FlipperKitLayoutHelpers/SKYogaKitHelper.h>
#import <FlipperKitLayoutHelpers/UIColor+SKSonarValueCoder.h>
#import <YogaKit/UIView+Yoga.h> #import <YogaKit/UIView+Yoga.h>
#import "SKDescriptorMapper.h"
#import "SKHiddenWindow.h"
#import "SKNamed.h"
#import "SKObject.h"
#import "SKYogaKitHelper.h"
#import "UIColor+SKSonarValueCoder.h"
@implementation SKViewDescriptor @implementation SKViewDescriptor
@@ -30,7 +30,8 @@ static NSDictionary* YGOverflowEnumMap = nil;
static NSDictionary* YGDisplayEnumMap = nil; static NSDictionary* YGDisplayEnumMap = nil;
static NSDictionary* YGUnitEnumMap = nil; static NSDictionary* YGUnitEnumMap = nil;
- (instancetype)initWithDescriptorMapper:(SKDescriptorMapper*)mapper { - (instancetype)initWithDescriptorMapper:
(id<SKDescriptorMapperProtocol>)mapper {
if (self = [super initWithDescriptorMapper:mapper]) { if (self = [super initWithDescriptorMapper:mapper]) {
initEnumDictionaries(); initEnumDictionaries();
} }

View File

@@ -41,12 +41,17 @@ PODS:
- ComponentKit (= 0.30) - ComponentKit (= 0.30)
- FlipperKit/Core - FlipperKit/Core
- FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitHighlightOverlay
- FlipperKit/FlipperKitLayoutHelpers
- FlipperKit/FlipperKitLayoutPlugin - FlipperKit/FlipperKitLayoutPlugin
- FlipperKit/FlipperKitLayoutTextSearchable - FlipperKit/FlipperKitLayoutTextSearchable
- RenderCore (= 0.30) - RenderCore (= 0.30)
- FlipperKit/FlipperKitLayoutHelpers (0.74.0)
- FlipperKit/FlipperKitLayoutIOSDescriptors (0.74.0)
- FlipperKit/FlipperKitLayoutPlugin (0.74.0): - FlipperKit/FlipperKitLayoutPlugin (0.74.0):
- FlipperKit/Core - FlipperKit/Core
- FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitHighlightOverlay
- FlipperKit/FlipperKitLayoutHelpers
- FlipperKit/FlipperKitLayoutIOSDescriptors
- FlipperKit/FlipperKitLayoutTextSearchable - FlipperKit/FlipperKitLayoutTextSearchable
- YogaKit (~> 1.18) - YogaKit (~> 1.18)
- FlipperKit/FlipperKitLayoutTextSearchable (0.74.0) - FlipperKit/FlipperKitLayoutTextSearchable (0.74.0)
@@ -116,7 +121,7 @@ SPEC CHECKSUMS:
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
Flipper-RSocket: 602921fee03edacf18f5d6f3d3594ba477f456e5 Flipper-RSocket: 602921fee03edacf18f5d6f3d3594ba477f456e5
FlipperKit: f42987ea58737ac0fb3fbc38f8e703452ba56940 FlipperKit: fcac029fe04990813aca73c0d897bf0a91bf2b43
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b
RenderCore: d779c47622b313ce2d51bb36d084517af38b0dc1 RenderCore: d779c47622b313ce2d51bb36d084517af38b0dc1

View File

@@ -41,12 +41,17 @@ PODS:
- ComponentKit (= 0.30) - ComponentKit (= 0.30)
- FlipperKit/Core - FlipperKit/Core
- FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitHighlightOverlay
- FlipperKit/FlipperKitLayoutHelpers
- FlipperKit/FlipperKitLayoutPlugin - FlipperKit/FlipperKitLayoutPlugin
- FlipperKit/FlipperKitLayoutTextSearchable - FlipperKit/FlipperKitLayoutTextSearchable
- RenderCore (= 0.30) - RenderCore (= 0.30)
- FlipperKit/FlipperKitLayoutHelpers (0.74.0)
- FlipperKit/FlipperKitLayoutIOSDescriptors (0.74.0)
- FlipperKit/FlipperKitLayoutPlugin (0.74.0): - FlipperKit/FlipperKitLayoutPlugin (0.74.0):
- FlipperKit/Core - FlipperKit/Core
- FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitHighlightOverlay
- FlipperKit/FlipperKitLayoutHelpers
- FlipperKit/FlipperKitLayoutIOSDescriptors
- FlipperKit/FlipperKitLayoutTextSearchable - FlipperKit/FlipperKitLayoutTextSearchable
- YogaKit (~> 1.18) - YogaKit (~> 1.18)
- FlipperKit/FlipperKitLayoutTextSearchable (0.74.0) - FlipperKit/FlipperKitLayoutTextSearchable (0.74.0)
@@ -113,7 +118,7 @@ SPEC CHECKSUMS:
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
Flipper-RSocket: 602921fee03edacf18f5d6f3d3594ba477f456e5 Flipper-RSocket: 602921fee03edacf18f5d6f3d3594ba477f456e5
FlipperKit: f42987ea58737ac0fb3fbc38f8e703452ba56940 FlipperKit: fcac029fe04990813aca73c0d897bf0a91bf2b43
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b
RenderCore: d779c47622b313ce2d51bb36d084517af38b0dc1 RenderCore: d779c47622b313ce2d51bb36d084517af38b0dc1