Skip to content
This repository was archived by the owner on Aug 16, 2023. It is now read-only.

Commit 8680603

Browse files
committed
Rewrite value transformer architecture.
1 parent cbfdde1 commit 8680603

20 files changed

+133
-289
lines changed

CMDQueryStringSerialization.xcodeproj/project.pbxproj

Lines changed: 30 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,25 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
3B1DB7521970E2000076F82B /* NSObject+CMDQueryStringValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B1DB7511970E2000076F82B /* NSObject+CMDQueryStringValueTransformer.m */; };
1011
3B6EAFA3188F5D78005D2EB4 /* CMDQueryStringSerialization.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 3B6EAFA2188F5D78005D2EB4 /* CMDQueryStringSerialization.h */; };
1112
3B6EAFA5188F5D78005D2EB4 /* CMDQueryStringSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B6EAFA4188F5D78005D2EB4 /* CMDQueryStringSerialization.m */; };
1213
3B6EAFB2188F5D79005D2EB4 /* libCMDQueryStringSerialization.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B6EAF9A188F5D78005D2EB4 /* libCMDQueryStringSerialization.a */; };
1314
3B6EAFB8188F5D79005D2EB4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3B6EAFB6188F5D79005D2EB4 /* InfoPlist.strings */; };
1415
3B6EAFBA188F5D79005D2EB4 /* CMDQueryStringSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B6EAFB9188F5D79005D2EB4 /* CMDQueryStringSerializationTests.m */; };
15-
3BF21A4318F0C06D0029100A /* CMDQueryStringArrayTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF21A4218F0C06D0029100A /* CMDQueryStringArrayTransformer.m */; };
16-
3BF21A4418F0C06D0029100A /* CMDQueryStringArrayTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF21A4218F0C06D0029100A /* CMDQueryStringArrayTransformer.m */; };
17-
3BF21A4718F0C1840029100A /* CMDQueryStringDateTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF21A4618F0C1840029100A /* CMDQueryStringDateTransformer.m */; };
18-
3BF21A4818F0C1840029100A /* CMDQueryStringDateTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF21A4618F0C1840029100A /* CMDQueryStringDateTransformer.m */; };
19-
3BF21A4B18F0C4F90029100A /* CMDQueryStringNumberTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF21A4A18F0C4F90029100A /* CMDQueryStringNumberTransformer.m */; };
20-
3BF21A4C18F0C4F90029100A /* CMDQueryStringNumberTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF21A4A18F0C4F90029100A /* CMDQueryStringNumberTransformer.m */; };
21-
3BF21A4F18F0C5040029100A /* CMDQueryStringStringTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF21A4E18F0C5040029100A /* CMDQueryStringStringTransformer.m */; };
22-
3BF21A5018F0C5040029100A /* CMDQueryStringStringTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF21A4E18F0C5040029100A /* CMDQueryStringStringTransformer.m */; };
23-
3BF21A5218F0C58A0029100A /* CMDQueryStringValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF21A5118F0C58A0029100A /* CMDQueryStringValueTransformer.m */; };
24-
3BF21A5318F0C58A0029100A /* CMDQueryStringValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF21A5118F0C58A0029100A /* CMDQueryStringValueTransformer.m */; };
2516
3BF7142418B3FAD300D596B6 /* CMDQueryStringReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF7142318B3FAD300D596B6 /* CMDQueryStringReader.m */; };
26-
3BF7142518B3FAD300D596B6 /* CMDQueryStringReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF7142318B3FAD300D596B6 /* CMDQueryStringReader.m */; };
2717
3BF7142818B3FB3200D596B6 /* CMDQueryStringWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF7142718B3FB3200D596B6 /* CMDQueryStringWriter.m */; };
28-
3BF7142918B3FB3200D596B6 /* CMDQueryStringWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF7142718B3FB3200D596B6 /* CMDQueryStringWriter.m */; };
2918
93832CCF18958BAF005D5744 /* NSString+CMDQueryStringSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 93832CCE18958BAF005D5744 /* NSString+CMDQueryStringSerialization.m */; };
30-
93832CD018958D56005D5744 /* NSString+CMDQueryStringSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 93832CCE18958BAF005D5744 /* NSString+CMDQueryStringSerialization.m */; };
3119
/* End PBXBuildFile section */
3220

3321
/* Begin PBXContainerItemProxy section */
22+
3B1DB7541970EA430076F82B /* PBXContainerItemProxy */ = {
23+
isa = PBXContainerItemProxy;
24+
containerPortal = 3B6EAF92188F5D78005D2EB4 /* Project object */;
25+
proxyType = 1;
26+
remoteGlobalIDString = 3B6EAF99188F5D78005D2EB4;
27+
remoteInfo = CMDQueryStringSerialization;
28+
};
3429
3B6EAFB0188F5D79005D2EB4 /* PBXContainerItemProxy */ = {
3530
isa = PBXContainerItemProxy;
3631
containerPortal = 3B6EAF92188F5D78005D2EB4 /* Project object */;
@@ -54,9 +49,11 @@
5449
/* End PBXCopyFilesBuildPhase section */
5550

5651
/* Begin PBXFileReference section */
52+
3B1DB7501970E2000076F82B /* NSObject+CMDQueryStringValueTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+CMDQueryStringValueTransformer.h"; sourceTree = "<group>"; };
53+
3B1DB7511970E2000076F82B /* NSObject+CMDQueryStringValueTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+CMDQueryStringValueTransformer.m"; sourceTree = "<group>"; };
54+
3B1DB7531970E5A40076F82B /* CMDQueryStringWritingOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CMDQueryStringWritingOptions.h; sourceTree = "<group>"; };
5755
3B63E2C518B415E7002812A5 /* CMDQueryStringValueTransformer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CMDQueryStringValueTransformer.h; sourceTree = "<group>"; };
5856
3B6EAF9A188F5D78005D2EB4 /* libCMDQueryStringSerialization.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCMDQueryStringSerialization.a; sourceTree = BUILT_PRODUCTS_DIR; };
59-
3B6EAFA1188F5D78005D2EB4 /* CMDQueryStringSerialization-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CMDQueryStringSerialization-Prefix.pch"; sourceTree = "<group>"; };
6057
3B6EAFA2188F5D78005D2EB4 /* CMDQueryStringSerialization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CMDQueryStringSerialization.h; sourceTree = "<group>"; };
6158
3B6EAFA4188F5D78005D2EB4 /* CMDQueryStringSerialization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CMDQueryStringSerialization.m; sourceTree = "<group>"; };
6259
3B6EAFAA188F5D78005D2EB4 /* CMDQueryStringSerializationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CMDQueryStringSerializationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -104,6 +101,8 @@
104101
children = (
105102
93832CCD18958BAF005D5744 /* NSString+CMDQueryStringSerialization.h */,
106103
93832CCE18958BAF005D5744 /* NSString+CMDQueryStringSerialization.m */,
104+
3B1DB7501970E2000076F82B /* NSObject+CMDQueryStringValueTransformer.h */,
105+
3B1DB7511970E2000076F82B /* NSObject+CMDQueryStringValueTransformer.m */,
107106
);
108107
name = Categories;
109108
sourceTree = "<group>";
@@ -140,6 +139,7 @@
140139
3B6EAF9F188F5D78005D2EB4 /* CMDQueryStringSerialization */ = {
141140
isa = PBXGroup;
142141
children = (
142+
3B1DB7531970E5A40076F82B /* CMDQueryStringWritingOptions.h */,
143143
3B6EAFA2188F5D78005D2EB4 /* CMDQueryStringSerialization.h */,
144144
3B6EAFA4188F5D78005D2EB4 /* CMDQueryStringSerialization.m */,
145145
3BF7142218B3FAD300D596B6 /* CMDQueryStringReader.h */,
@@ -156,7 +156,6 @@
156156
3B6EAFA0188F5D78005D2EB4 /* Supporting Files */ = {
157157
isa = PBXGroup;
158158
children = (
159-
3B6EAFA1188F5D78005D2EB4 /* CMDQueryStringSerialization-Prefix.pch */,
160159
);
161160
name = "Supporting Files";
162161
sourceTree = "<group>";
@@ -228,6 +227,7 @@
228227
);
229228
dependencies = (
230229
3B6EAFB1188F5D79005D2EB4 /* PBXTargetDependency */,
230+
3B1DB7551970EA430076F82B /* PBXTargetDependency */,
231231
);
232232
name = CMDQueryStringSerializationTests;
233233
productName = CMDQueryStringSerializationTests;
@@ -242,6 +242,11 @@
242242
attributes = {
243243
LastUpgradeCheck = 0500;
244244
ORGANIZATIONNAME = "Caleb Davenport";
245+
TargetAttributes = {
246+
3B6EAFA9188F5D78005D2EB4 = {
247+
TestTargetID = 3B6EAF99188F5D78005D2EB4;
248+
};
249+
};
245250
};
246251
buildConfigurationList = 3B6EAF95188F5D78005D2EB4 /* Build configuration list for PBXProject "CMDQueryStringSerialization" */;
247252
compatibilityVersion = "Xcode 3.2";
@@ -277,14 +282,10 @@
277282
isa = PBXSourcesBuildPhase;
278283
buildActionMask = 2147483647;
279284
files = (
280-
3BF21A4718F0C1840029100A /* CMDQueryStringDateTransformer.m in Sources */,
281285
3B6EAFA5188F5D78005D2EB4 /* CMDQueryStringSerialization.m in Sources */,
282286
93832CCF18958BAF005D5744 /* NSString+CMDQueryStringSerialization.m in Sources */,
283-
3BF21A4B18F0C4F90029100A /* CMDQueryStringNumberTransformer.m in Sources */,
284-
3BF21A5218F0C58A0029100A /* CMDQueryStringValueTransformer.m in Sources */,
285287
3BF7142418B3FAD300D596B6 /* CMDQueryStringReader.m in Sources */,
286-
3BF21A4F18F0C5040029100A /* CMDQueryStringStringTransformer.m in Sources */,
287-
3BF21A4318F0C06D0029100A /* CMDQueryStringArrayTransformer.m in Sources */,
288+
3B1DB7521970E2000076F82B /* NSObject+CMDQueryStringValueTransformer.m in Sources */,
288289
3BF7142818B3FB3200D596B6 /* CMDQueryStringWriter.m in Sources */,
289290
);
290291
runOnlyForDeploymentPostprocessing = 0;
@@ -293,21 +294,18 @@
293294
isa = PBXSourcesBuildPhase;
294295
buildActionMask = 2147483647;
295296
files = (
296-
3BF21A4818F0C1840029100A /* CMDQueryStringDateTransformer.m in Sources */,
297297
3B6EAFBA188F5D79005D2EB4 /* CMDQueryStringSerializationTests.m in Sources */,
298-
93832CD018958D56005D5744 /* NSString+CMDQueryStringSerialization.m in Sources */,
299-
3BF21A4C18F0C4F90029100A /* CMDQueryStringNumberTransformer.m in Sources */,
300-
3BF21A5318F0C58A0029100A /* CMDQueryStringValueTransformer.m in Sources */,
301-
3BF21A4418F0C06D0029100A /* CMDQueryStringArrayTransformer.m in Sources */,
302-
3BF21A5018F0C5040029100A /* CMDQueryStringStringTransformer.m in Sources */,
303-
3BF7142518B3FAD300D596B6 /* CMDQueryStringReader.m in Sources */,
304-
3BF7142918B3FB3200D596B6 /* CMDQueryStringWriter.m in Sources */,
305298
);
306299
runOnlyForDeploymentPostprocessing = 0;
307300
};
308301
/* End PBXSourcesBuildPhase section */
309302

310303
/* Begin PBXTargetDependency section */
304+
3B1DB7551970EA430076F82B /* PBXTargetDependency */ = {
305+
isa = PBXTargetDependency;
306+
target = 3B6EAF99188F5D78005D2EB4 /* CMDQueryStringSerialization */;
307+
targetProxy = 3B1DB7541970EA430076F82B /* PBXContainerItemProxy */;
308+
};
311309
3B6EAFB1188F5D79005D2EB4 /* PBXTargetDependency */ = {
312310
isa = PBXTargetDependency;
313311
target = 3B6EAF99188F5D78005D2EB4 /* CMDQueryStringSerialization */;
@@ -342,8 +340,10 @@
342340
CLANG_WARN_ENUM_CONVERSION = YES;
343341
CLANG_WARN_INT_CONVERSION = YES;
344342
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
343+
CLANG_WARN_UNREACHABLE_CODE = YES;
345344
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
346345
COPY_PHASE_STRIP = NO;
346+
ENABLE_STRICT_OBJC_MSGSEND = YES;
347347
GCC_C_LANGUAGE_STANDARD = gnu99;
348348
GCC_DYNAMIC_NO_PIC = NO;
349349
GCC_OPTIMIZATION_LEVEL = 0;
@@ -379,9 +379,11 @@
379379
CLANG_WARN_ENUM_CONVERSION = YES;
380380
CLANG_WARN_INT_CONVERSION = YES;
381381
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
382+
CLANG_WARN_UNREACHABLE_CODE = YES;
382383
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
383384
COPY_PHASE_STRIP = YES;
384385
ENABLE_NS_ASSERTIONS = NO;
386+
ENABLE_STRICT_OBJC_MSGSEND = YES;
385387
GCC_C_LANGUAGE_STANDARD = gnu99;
386388
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
387389
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
@@ -398,9 +400,6 @@
398400
3B6EAFBE188F5D79005D2EB4 /* Debug */ = {
399401
isa = XCBuildConfiguration;
400402
buildSettings = {
401-
DSTROOT = /tmp/CMDQueryStringSerialization.dst;
402-
GCC_PRECOMPILE_PREFIX_HEADER = YES;
403-
GCC_PREFIX_HEADER = "CMDQueryStringSerialization/CMDQueryStringSerialization-Prefix.pch";
404403
OTHER_LDFLAGS = "-ObjC";
405404
PRODUCT_NAME = "$(TARGET_NAME)";
406405
SKIP_INSTALL = YES;
@@ -410,9 +409,6 @@
410409
3B6EAFBF188F5D79005D2EB4 /* Release */ = {
411410
isa = XCBuildConfiguration;
412411
buildSettings = {
413-
DSTROOT = /tmp/CMDQueryStringSerialization.dst;
414-
GCC_PRECOMPILE_PREFIX_HEADER = YES;
415-
GCC_PREFIX_HEADER = "CMDQueryStringSerialization/CMDQueryStringSerialization-Prefix.pch";
416412
OTHER_LDFLAGS = "-ObjC";
417413
PRODUCT_NAME = "$(TARGET_NAME)";
418414
SKIP_INSTALL = YES;

CMDQueryStringSerialization/CMDQueryStringArrayTransformer.h

Lines changed: 0 additions & 13 deletions
This file was deleted.

CMDQueryStringSerialization/CMDQueryStringArrayTransformer.m

Lines changed: 0 additions & 40 deletions
This file was deleted.

CMDQueryStringSerialization/CMDQueryStringDateTransformer.h

Lines changed: 0 additions & 13 deletions
This file was deleted.

CMDQueryStringSerialization/CMDQueryStringDateTransformer.m

Lines changed: 0 additions & 23 deletions
This file was deleted.

CMDQueryStringSerialization/CMDQueryStringNumberTransformer.h

Lines changed: 0 additions & 13 deletions
This file was deleted.

CMDQueryStringSerialization/CMDQueryStringNumberTransformer.m

Lines changed: 0 additions & 19 deletions
This file was deleted.

CMDQueryStringSerialization/CMDQueryStringReader.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
// Copyright (c) 2014 Caleb Davenport. All rights reserved.
77
//
88

9+
@import Foundation;
10+
911
@interface CMDQueryStringReader : NSObject
1012

1113
- (instancetype)initWithString:(NSString *)string;

CMDQueryStringSerialization/CMDQueryStringSerialization-Prefix.pch

Lines changed: 0 additions & 9 deletions
This file was deleted.

CMDQueryStringSerialization/CMDQueryStringSerialization.h

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,8 @@
66
// Copyright (c) 2014 Caleb Davenport. All rights reserved.
77
//
88

9-
typedef NS_OPTIONS(NSUInteger, CMDQueryStringWritingOptions) {
10-
11-
// Default: Arrays encoded with format: `key=value1&key=value2`
12-
CMDQueryStringWritingOptionArrayRepeatKeys = 1 << 4,
13-
14-
// Arrays encoded with format: `key[]=value1&key[]=value2`
15-
CMDQueryStringWritingOptionArrayRepeatKeysWithBrackets = 2 << 4,
16-
17-
// Arrays encoded with format: `key=value1,value2`
18-
CMDQueryStringWritingOptionArrayCommaSeparatedValues = 3 << 4,
19-
20-
// Dates encoded as Unix time stamps
21-
CMDQueryStringWritingOptionDateAsUnixTimestamp = 1 << 8
22-
};
9+
@import Foundation;
10+
#import "CMDQueryStringWritingOptions.h"
2311

2412
/**
2513
Easily convert between query strings and dictionaries.

0 commit comments

Comments
 (0)