@@ -19,7 +19,7 @@ + (NSDictionary *)dictionaryWithQueryString:(NSString *)string {
1919
2020
2121+ (NSString *)queryStringWithDictionary : (NSDictionary *)dictionary {
22- return [self queryStringWithDictionary: dictionary options: kNilOptions ];
22+ return [self queryStringWithDictionary: dictionary options: CMDQueryStringWritingOptionArrayRepeatKeysWithBrackets ];
2323}
2424
2525
@@ -29,122 +29,3 @@ + (NSString *)queryStringWithDictionary:(NSDictionary *)dictionary options:(CMDQ
2929}
3030
3131@end
32-
33- // @interface NSMutableDictionary (CMDQueryStringSerialization)
34- //
35- // - (void)cmd_addObject:(id)object forKey:(NSString *)key;
36- //
37- // @end
38- //
39- // @interface NSNumber (CMDQueryStringSerialization)
40- //
41- // -(NSString *)cmd_stringByAddingEscapes;
42- //
43- // @end
44- //
45- // @implementation CMDQueryStringSerialization
46- //
47- // #pragma mark - Deserialization
48- //
49- // + (NSDictionary *)dictionaryWithQueryString:(NSString *)string {
50- // return [self dictionaryWithQueryString:string arrayOption:CMDQueryStringArraySerializationOptionMultipleKeys];
51- // }
52- //
53- // <<<<<<< HEAD
54- //
55- // + (NSString *)queryStringWithDictionary:(NSDictionary *)dictionary {
56- // if (!dictionary) {
57- // return nil;
58- // }
59- // NSMutableArray *pairs = [NSMutableArray arrayWithCapacity:[dictionary count]];
60- // [dictionary enumerateKeysAndObjectsUsingBlock:^(NSString *key, id value, BOOL *stop) {
61- // void (^addPair)(NSString *key, NSString *value) = ^(NSString *key, NSString *value) {
62- // [pairs addObject:[NSString stringWithFormat:@"%@=%@",
63- // [key cmd_stringByAddingEscapes],
64- // [value cmd_stringByAddingEscapes]]];
65- // };
66- //
67- // if ([value isKindOfClass:[NSArray class]]) {
68- // for (NSString *valueFromArray in (NSArray *)value) {
69- // addPair(key, valueFromArray);
70- // =======
71- // + (NSDictionary *)dictionaryWithQueryString:(NSString *)string arrayOption:(CMDQueryStringArraySerializationOption)arrayOption {
72- // NSMutableDictionary *result = [NSMutableDictionary new];
73- //
74- // [CMDKeyValuePairString enumeratePairsInString:string block:^(NSString *key, NSString *value) {
75- // if (arrayOption == CMDQueryStringArraySerializationOptionCommaSeparated) {
76- // NSArray *values = [value componentsSeparatedByString:@","];
77- //
78- // [values enumerateObjectsUsingBlock:^(NSString *commaSeparatedValue, NSUInteger index, BOOL *stop) {
79- // [result cmd_addObject:commaSeparatedValue forKey:key];
80- // }];
81- // }
82- // else {
83- // if (arrayOption == CMDQueryStringArraySerializationOptionMultipleBracketedKeys) {
84- // key = [key stringByReplacingOccurrencesOfString:@"[]" withString:@""];
85- // >>>>>>> b1b6e17d5230b90e6590fa22976ff3b8be5fdef5
86- // }
87- //
88- // [result cmd_addObject:value forKey:key];
89- // }
90- // }];
91- //
92- // return [result copy];
93- // }
94- //
95- // #pragma mark - Serialization
96- //
97- // - (void)cmd_enumeratePairs:(void (^) (NSString *key, NSString *value))block {
98- // if ([self length] == 0) {
99- // return;
100- // }
101- // NSArray *pairs = [self componentsSeparatedByString:@"&"];
102- // [pairs enumerateObjectsUsingBlock:^(NSString *pair, NSUInteger index, BOOL *stop) {
103- // NSRange range = [pair rangeOfString:@"="];
104- // NSString *key, *value;
105- // if (range.location == NSNotFound) {
106- // key = [pair cmd_stringByRemovingEscapes];
107- // value = @"";
108- // =======
109- // + (NSString *)queryStringWithDictionary:(NSDictionary *)dictionary {
110- // return [self queryStringWithDictionary:dictionary arrayOption:CMDQueryStringArraySerializationOptionMultipleKeys];
111- // }
112- //
113- // + (NSString *)queryStringWithDictionary:(NSDictionary *)dictionary arrayOption:(CMDQueryStringArraySerializationOption)arrayOption {
114- // NSMutableArray *pairs = [NSMutableArray arrayWithCapacity:[dictionary count]];
115- //
116- // [dictionary enumerateKeysAndObjectsUsingBlock:^(NSString *key, id value, BOOL *stop) {
117- // if ([value isKindOfClass:[NSArray class]]) {
118- // id <CMDQueryStringArrayTransformer> transformer = [self arrayTransformerForOption:arrayOption];
119- // [pairs addObjectsFromArray:[transformer keyValuePairStringsFromKey:key values:value]];
120- // >>>>>>> b1b6e17d5230b90e6590fa22976ff3b8be5fdef5
121- // }
122- // else {
123- // NSString *escapedKey = [key cmd_stringByAddingEscapes];
124- // NSString *escapedValue = [value cmd_stringByAddingEscapes];
125- //
126- // [pairs addObject:[CMDKeyValuePairString pairStringWithKey:escapedKey value:escapedValue]];
127- // }
128- // }];
129- //
130- // return [pairs componentsJoinedByString:@"&"];
131- // }
132- //
133- // #pragma mark - Private
134- //
135- // + (id <CMDQueryStringArrayTransformer>)arrayTransformerForOption:(CMDQueryStringArraySerializationOption)option {
136- // static NSDictionary *arraySerializationOptionsToTransformers;
137- //
138- // static dispatch_once_t onceToken;
139- // dispatch_once(&onceToken, ^{
140- // arraySerializationOptionsToTransformers = @{
141- // @(CMDQueryStringArraySerializationOptionMultipleKeys) : [CMDQueryStringMultipleKeysArrayTransformer class],
142- // @(CMDQueryStringArraySerializationOptionMultipleBracketedKeys) : [CMDQueryStringMultipleBracketedKeysArrayTransformer class],
143- // @(CMDQueryStringArraySerializationOptionCommaSeparated) : [CMDQueryStringCommaSeparatedArrayTransformer class]
144- // };
145- // });
146- //
147- // return arraySerializationOptionsToTransformers[@(option)];
148- // }
149- //
150- // @end
0 commit comments