Skip to content
This repository was archived by the owner on Feb 17, 2021. It is now read-only.

Commit 7c116e5

Browse files
authoredJun 6, 2018
Remove with prefix from blocks & LOK base builder. build -> layout (#214)
* Remove `with` prefix from blocks & LOK base builder. build -> layout - Removed `with` prefix from every block property on the ObjC builders - Removed LOKBaseLayoutBuilder - Changed `build` function to `layout` property
1 parent e9dfd86 commit 7c116e5

20 files changed

+550
-456
lines changed
 

‎LayoutKit.xcodeproj/project.pbxproj

+4-8
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@
202202
0BDDF95B1E25ACCE008B0A6F /* ReloadableViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BDDF95A1E25ACCE008B0A6F /* ReloadableViewTests.swift */; };
203203
0BDDF95C1E25ACCE008B0A6F /* ReloadableViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BDDF95A1E25ACCE008B0A6F /* ReloadableViewTests.swift */; };
204204
37BEBEF5207C25BF002BD761 /* LOKAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37BEBEF3207C23B6002BD761 /* LOKAnimation.swift */; };
205+
37D9D58420BF82FD001A5CDD /* LOKLayoutBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 37D9D58320BF8270001A5CDD /* LOKLayoutBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
205206
4468A31D1E46460B00341D07 /* NSAttributedStringExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4468A31C1E46460B00341D07 /* NSAttributedStringExtension.swift */; };
206207
4468A31E1E464A3900341D07 /* NSAttributedStringExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4468A31C1E46460B00341D07 /* NSAttributedStringExtension.swift */; };
207208
448CEC0F1E4E0CB500F8AD9E /* TextViewDefaultFont.swift in Sources */ = {isa = PBXBuildFile; fileRef = 448CEC0E1E4E0CB500F8AD9E /* TextViewDefaultFont.swift */; };
@@ -288,13 +289,11 @@
288289
7EECD04D2053916C003DC4B1 /* ReloadableViewUpdateManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BCB75F41D8724800065E02A /* ReloadableViewUpdateManager.swift */; };
289290
7EECD04E2053916C003DC4B1 /* TextViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44F968141E425F5D00392763 /* TextViewLayout.swift */; };
290291
7EECD04F2053916C003DC4B1 /* Text.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BD42BDB1DB5EAAD00E04AA3 /* Text.swift */; };
291-
7EECD0502053916C003DC4B1 /* LOKBaseLayoutBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E7370F12051E3E6007C19FF /* LOKBaseLayoutBuilder.m */; };
292292
7EECD0512053916C003DC4B1 /* StackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BCB75F51D8724800065E02A /* StackView.swift */; };
293293
7EECD0552053916C003DC4B1 /* LOKButtonLayoutBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E7370F42051ED84007C19FF /* LOKButtonLayoutBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
294294
7EECD0562053916C003DC4B1 /* LOKOverlayLayoutBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E7370F82051F415007C19FF /* LOKOverlayLayoutBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
295295
7EECD0572053916C003DC4B1 /* LOKSizeLayoutBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E7370FC2051F86D007C19FF /* LOKSizeLayoutBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
296296
7EECD0582053916C003DC4B1 /* LOKInsetLayoutBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E7370E82051A494007C19FF /* LOKInsetLayoutBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
297-
7EECD0592053916C003DC4B1 /* LOKBaseLayoutBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E7370F02051E3E6007C19FF /* LOKBaseLayoutBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
298297
7EECD05A2053916C003DC4B1 /* LOKStackLayoutBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E73710020520CA8007C19FF /* LOKStackLayoutBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
299298
7EECD05B2053916C003DC4B1 /* LOKLabelLayoutBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E7370EC2051E08F007C19FF /* LOKLabelLayoutBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
300299
7EECD05C2053916C003DC4B1 /* LOKTextViewLayoutBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E73710420520F5F007C19FF /* LOKTextViewLayoutBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -475,6 +474,7 @@
475474
0BD5F82B1DB43F9B00108688 /* ButtonLayoutTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ButtonLayoutTests.swift; sourceTree = "<group>"; };
476475
0BDDF95A1E25ACCE008B0A6F /* ReloadableViewTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReloadableViewTests.swift; sourceTree = "<group>"; };
477476
37BEBEF3207C23B6002BD761 /* LOKAnimation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LOKAnimation.swift; sourceTree = "<group>"; };
477+
37D9D58320BF8270001A5CDD /* LOKLayoutBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LOKLayoutBuilder.h; sourceTree = "<group>"; };
478478
4468A31C1E46460B00341D07 /* NSAttributedStringExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSAttributedStringExtension.swift; sourceTree = "<group>"; };
479479
448CEC0E1E4E0CB500F8AD9E /* TextViewDefaultFont.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextViewDefaultFont.swift; sourceTree = "<group>"; };
480480
44F968141E425F5D00392763 /* TextViewLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextViewLayout.swift; sourceTree = "<group>"; };
@@ -493,8 +493,6 @@
493493
7E7370E92051A494007C19FF /* LOKInsetLayoutBuilder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LOKInsetLayoutBuilder.m; sourceTree = "<group>"; };
494494
7E7370EC2051E08F007C19FF /* LOKLabelLayoutBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LOKLabelLayoutBuilder.h; sourceTree = "<group>"; };
495495
7E7370ED2051E08F007C19FF /* LOKLabelLayoutBuilder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LOKLabelLayoutBuilder.m; sourceTree = "<group>"; };
496-
7E7370F02051E3E6007C19FF /* LOKBaseLayoutBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LOKBaseLayoutBuilder.h; sourceTree = "<group>"; };
497-
7E7370F12051E3E6007C19FF /* LOKBaseLayoutBuilder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LOKBaseLayoutBuilder.m; sourceTree = "<group>"; };
498496
7E7370F42051ED84007C19FF /* LOKButtonLayoutBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LOKButtonLayoutBuilder.h; sourceTree = "<group>"; };
499497
7E7370F52051ED84007C19FF /* LOKButtonLayoutBuilder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LOKButtonLayoutBuilder.m; sourceTree = "<group>"; };
500498
7E7370F82051F415007C19FF /* LOKOverlayLayoutBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LOKOverlayLayoutBuilder.h; sourceTree = "<group>"; };
@@ -841,8 +839,6 @@
841839
7E7370E72051A3FA007C19FF /* Builders */ = {
842840
isa = PBXGroup;
843841
children = (
844-
7E7370F02051E3E6007C19FF /* LOKBaseLayoutBuilder.h */,
845-
7E7370F12051E3E6007C19FF /* LOKBaseLayoutBuilder.m */,
846842
7E7370F42051ED84007C19FF /* LOKButtonLayoutBuilder.h */,
847843
7E7370F52051ED84007C19FF /* LOKButtonLayoutBuilder.m */,
848844
7E7370E82051A494007C19FF /* LOKInsetLayoutBuilder.h */,
@@ -857,6 +853,7 @@
857853
7E73710120520CA8007C19FF /* LOKStackLayoutBuilder.m */,
858854
7E73710420520F5F007C19FF /* LOKTextViewLayoutBuilder.h */,
859855
7E73710520520F5F007C19FF /* LOKTextViewLayoutBuilder.m */,
856+
37D9D58320BF8270001A5CDD /* LOKLayoutBuilder.h */,
860857
);
861858
path = Builders;
862859
sourceTree = "<group>";
@@ -954,9 +951,9 @@
954951
files = (
955952
7EECD0552053916C003DC4B1 /* LOKButtonLayoutBuilder.h in Headers */,
956953
7EECD0562053916C003DC4B1 /* LOKOverlayLayoutBuilder.h in Headers */,
954+
37D9D58420BF82FD001A5CDD /* LOKLayoutBuilder.h in Headers */,
957955
7EECD0572053916C003DC4B1 /* LOKSizeLayoutBuilder.h in Headers */,
958956
7EECD0582053916C003DC4B1 /* LOKInsetLayoutBuilder.h in Headers */,
959-
7EECD0592053916C003DC4B1 /* LOKBaseLayoutBuilder.h in Headers */,
960957
7EECD05A2053916C003DC4B1 /* LOKStackLayoutBuilder.h in Headers */,
961958
7EECD05B2053916C003DC4B1 /* LOKLabelLayoutBuilder.h in Headers */,
962959
7EC02CDC20570945000CEE24 /* LayoutKitObjC.h in Headers */,
@@ -1638,7 +1635,6 @@
16381635
7EECD04D2053916C003DC4B1 /* ReloadableViewUpdateManager.swift in Sources */,
16391636
7EECD04E2053916C003DC4B1 /* TextViewLayout.swift in Sources */,
16401637
7EECD04F2053916C003DC4B1 /* Text.swift in Sources */,
1641-
7EECD0502053916C003DC4B1 /* LOKBaseLayoutBuilder.m in Sources */,
16421638
7EECD0512053916C003DC4B1 /* StackView.swift in Sources */,
16431639
);
16441640
runOnlyForDeploymentPostprocessing = 0;

‎LayoutKitObjCSampleApp/ViewController.m

+11-11
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ - (void)viewDidLoad {
6868
collectionView.delegate = self.adapter;
6969
collectionView.dataSource = self.adapter;
7070

71-
__auto_type cellLayout = [LOKSizeLayoutBuilder withSublayout:self.helloWorldLayout].withWidth(self.view.bounds.size.width).layout;
71+
__auto_type cellLayout = [LOKSizeLayoutBuilder withSublayout:self.helloWorldLayout].width(self.view.bounds.size.width).layout;
7272

7373
NSArray *items = @[
7474
cellLayout, cellLayout, cellLayout, cellLayout,
@@ -106,27 +106,27 @@ - (void)viewDidLayoutSubviews {
106106
+ (id<LOKLayout>)makeHelloLayout {
107107
__auto_type labelLayoutA =
108108
[LOKLabelLayoutBuilder withString:@"Hello"]
109-
.withViewClass([MyLabelView class])
110-
.withConfig(^(UILabel * _Nonnull label) {
109+
.viewClass([MyLabelView class])
110+
.config(^(UILabel * _Nonnull label) {
111111
label.backgroundColor = UIColor.whiteColor;
112112
})
113113
.layout;
114114

115115
__auto_type labelLayoutB = [LOKLabelLayoutBuilder withString:@"world!"]
116-
.withViewClass([MyLabelView class])
117-
.withConfig(^(UILabel * _Nonnull label) {
116+
.viewClass([MyLabelView class])
117+
.config(^(UILabel * _Nonnull label) {
118118
label.textColor = UIColor.blueColor;
119119
label.backgroundColor = UIColor.whiteColor;
120120
})
121121
.layout;
122122

123123
__auto_type layout = [LOKStackLayoutBuilder withSublayouts:@[labelLayoutA, labelLayoutB]]
124-
.withAxis(LOKAxisHorizontal)
125-
.withSpacing(10)
126-
.withInsets(UIEdgeInsetsMake(20, 20, 20, 20))
127-
.withAlignment(LOKAlignment.fill)
128-
.withViewClass(LabelBackgroundView.class)
129-
.withConfig(^(UIView * _Nonnull view) { })
124+
.axis(LOKAxisHorizontal)
125+
.spacing(10)
126+
.insets(UIEdgeInsetsMake(20, 20, 20, 20))
127+
.alignment(LOKAlignment.fill)
128+
.viewClass(LabelBackgroundView.class)
129+
.config(^(UIView * _Nonnull view) { })
130130
.layout;
131131

132132
return [[RotationLayout alloc] initWithSublayout:layout

‎Sources/LayoutKitObjC.h

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ FOUNDATION_EXPORT const unsigned char LayoutKitObjCVersionString[];
1616

1717
// In this header, you should import all the public headers of your framework using statements like #import <LayoutKitObjC/PublicHeader.h>
1818

19-
#import "LOKBaseLayoutBuilder.h"
2019
#if __has_include("LOKButtonLayoutBuilder.h")
2120
#import "LOKButtonLayoutBuilder.h"
2221
#endif

‎Sources/ObjCSupport/Builders/LOKBaseLayoutBuilder.h

-41
This file was deleted.

‎Sources/ObjCSupport/Builders/LOKBaseLayoutBuilder.m

-29
This file was deleted.

‎Sources/ObjCSupport/Builders/LOKButtonLayoutBuilder.h

+14-21
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// software distributed under the License is distributed on an "AS IS" BASIS,
77
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
88

9-
#import "LOKBaseLayoutBuilder.h"
9+
#import "LOKLayoutBuilder.h"
1010

1111
@class LOKButtonLayout;
1212

@@ -19,31 +19,24 @@ typedef NS_ENUM(NSInteger, LOKButtonLayoutType) {
1919
LOKButtonLayoutTypeContactAdd
2020
};
2121

22-
@interface LOKButtonLayoutBuilder : LOKBaseLayoutBuilder
22+
@interface LOKButtonLayoutBuilder: NSObject<LOKLayoutBuilder>
2323

2424
+ (nonnull instancetype)withTitle:(nullable NSString *)title;
2525

26-
@property (nonatomic) LOKButtonLayoutType type;
27-
@property (nonatomic, nullable) NSString *title;
28-
@property (nonatomic, nullable) UIFont *font;
29-
@property (nonatomic, nullable) UIImage *image;
30-
@property (nonatomic) CGSize imageSize;
31-
@property (nonatomic, nullable) NSValue *contentEdgeInsets;
32-
@property (nonatomic, nullable) void (^ configure)(UIButton * _Nonnull);
26+
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^type)(LOKButtonLayoutType);
27+
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^font)(UIFont * _Nullable);
28+
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^image)(UIImage * _Nullable);
29+
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^imageSize)(CGSize);
30+
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^contentEdgeInsets)(NSValue * _Nullable);
3331

34-
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^withType)(LOKButtonLayoutType);
35-
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^withFont)(UIFont * _Nullable);
36-
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^withImage)(UIImage * _Nullable);
37-
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^withImageSize)(CGSize);
38-
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^withContentEdgeInsets)(NSValue * _Nullable);
32+
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^alignment)(LOKAlignment * _Nullable);
33+
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^flexibility)(LOKFlexibility * _Nullable);
34+
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^viewReuseId)(NSString * _Nullable);
35+
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^viewClass)(Class _Nullable);
3936

40-
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^withAlignment)(LOKAlignment * _Nullable);
41-
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^withFlexibility)(LOKFlexibility * _Nullable);
42-
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^withViewReuseId)(NSString * _Nullable);
43-
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^withViewClass)(Class _Nullable);
37+
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^config)( void(^ _Nullable)(UIButton *_Nonnull));
38+
@property (nonatomic, nonnull, readonly) LOKInsetLayoutBuilder * _Nonnull(^insets)(LOKEdgeInsets);
4439

45-
@property (nonatomic, nonnull, readonly) LOKButtonLayoutBuilder * _Nonnull(^withConfig)( void(^ _Nullable)(UIButton *_Nonnull));
46-
47-
- (nonnull LOKButtonLayout *)build;
40+
@property (nonatomic, nonnull, readonly) LOKButtonLayout *layout;
4841

4942
@end

0 commit comments

Comments
 (0)
This repository has been archived.