Skip to content

Commit dbe4807

Browse files
committed
style: objc/native comply to standard
1 parent 1d1ef79 commit dbe4807

4 files changed

Lines changed: 90 additions & 88 deletions

File tree

‎src/index.js‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ var HTTPSnippet = function (req, lang) {
8888
this.source.postData.text += data
8989
}.bind(this)))
9090

91+
this.source.postData.boundary = form.getBoundary()
9192
this.source.headersObj['content-type'] = 'multipart/form-data; boundary=' + form.getBoundary()
9293
break
9394

‎src/targets/index.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
'use strict'
22

3-
module.exports = require('require-directory')(module, { exclude: /helpers\.js$/ });
3+
module.exports = require('require-directory')(module, { exclude: /helpers\.js$/ })

‎src/targets/objc/helpers.js‎

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
'use strict';
1+
'use strict'
22

3-
var util = require('util');
3+
var util = require('util')
44

55
module.exports = {
66
/**
@@ -10,7 +10,7 @@ module.exports = {
1010
* @return {string}
1111
*/
1212
blankString: function (length) {
13-
return Array.apply(null, new Array(length)).map(String.prototype.valueOf, ' ').join('');
13+
return Array.apply(null, new Array(length)).map(String.prototype.valueOf, ' ').join('')
1414
},
1515

1616
/**
@@ -32,19 +32,19 @@ module.exports = {
3232
* NSDictionary *params = @{ @"a": @"b", @"c": @"d" };
3333
*/
3434
nsDictionaryBuilder: function (name, parameters, indent) {
35-
var dicOpening = 'NSDictionary *' + name + ' = ';
36-
var dicLiteral = this.literalRepresentation(parameters, indent ? dicOpening.length : null);
37-
return dicOpening + dicLiteral + ';';
35+
var dicOpening = 'NSDictionary *' + name + ' = '
36+
var dicLiteral = this.literalRepresentation(parameters, indent ? dicOpening.length : null)
37+
return dicOpening + dicLiteral + ';'
3838
},
3939

4040
/**
4141
* Similar to nsDictionaryBuilder but for NSArray literals.
4242
* @see nsDictionaryBuilder
4343
*/
4444
nsArrayBuilder: function (name, parameters, indent) {
45-
var dicOpening = 'NSArray *' + name + ' = ';
46-
var dicLiteral = this.literalRepresentation(parameters, indent ? dicOpening.length : null);
47-
return dicOpening + dicLiteral + ';';
45+
var arrOpening = 'NSArray *' + name + ' = '
46+
var arrLiteral = this.literalRepresentation(parameters, indent ? arrOpening.length : null)
47+
return arrOpening + arrLiteral + ';'
4848
},
4949

5050
/**
@@ -54,24 +54,24 @@ module.exports = {
5454
* @return {string}
5555
*/
5656
literalRepresentation: function (value, indentation) {
57-
var join = indentation === undefined ? ', ' : ',\n ' + this.blankString(indentation);
57+
var join = indentation === undefined ? ', ' : ',\n ' + this.blankString(indentation)
5858

5959
switch (Object.prototype.toString.call(value)) {
6060
case '[object Number]':
61-
return '@' + value;
61+
return '@' + value
6262
case '[object Array]':
6363
var values_representation = value.map(function (v) {
64-
return this.literalRepresentation(v);
65-
}.bind(this));
66-
return '@[ ' + values_representation.join(join) + ' ]';
64+
return this.literalRepresentation(v)
65+
}.bind(this))
66+
return '@[ ' + values_representation.join(join) + ' ]'
6767
case '[object Object]':
68-
var keyValuePairs = [];
68+
var keyValuePairs = []
6969
for (var k in value) {
70-
keyValuePairs.push(util.format('@"%s": %s', k, this.literalRepresentation(value[k])));
70+
keyValuePairs.push(util.format('@"%s": %s', k, this.literalRepresentation(value[k])))
7171
}
72-
return '@{ ' + keyValuePairs.join(join) + ' }';
72+
return '@{ ' + keyValuePairs.join(join) + ' }'
7373
default:
74-
return '@"' + value.replace(/"/g, '\\"') + '"';
74+
return '@"' + value.replace(/"/g, '\\"') + '"'
7575
}
7676
}
77-
};
77+
}

‎src/targets/objc/native.js‎

Lines changed: 69 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,116 +1,117 @@
1-
'use strict';
1+
'use strict'
22

3-
var util = require('util');
4-
var objcHelpers = require('./helpers');
3+
var util = require('util')
4+
var objcHelpers = require('./helpers')
55

66
module.exports = function (source, options) {
77
var opts = util._extend({
88
timeout: '10',
99
indent: ' ',
1010
pretty: true
11-
}, options);
11+
}, options)
1212

13-
var code = [];
13+
var code = []
1414

1515
var req = {
1616
hasHeaders: false,
1717
hasBody: false
18-
};
18+
}
19+
20+
var indent = opts.indent
1921

20-
//code.push('// Make sure Foundation is imported:');
21-
code.push('#import <Foundation/Foundation.h>');
22+
code.push('#import <Foundation/Foundation.h>')
2223

2324
if (Object.keys(source.allHeaders).length) {
24-
req.hasHeaders = true;
25-
code.push(null);
26-
code.push(objcHelpers.nsDictionaryBuilder('headers', source.allHeaders, opts.pretty));
25+
req.hasHeaders = true
26+
code.push(null)
27+
code.push(objcHelpers.nsDictionaryBuilder('headers', source.allHeaders, opts.pretty))
2728
}
2829

2930
if (source.postData.text || source.postData.jsonObj || source.postData.params) {
30-
req.hasBody = true;
31+
req.hasBody = true
3132

3233
switch (source.postData.mimeType) {
3334
case 'application/x-www-form-urlencoded':
34-
code.push(null);
35+
code.push(null)
3536
// Makes it easier to implement logice than just putting the entire body string
36-
code.push(util.format('NSMutableData *postData = [[NSMutableData alloc] initWithData:[@"%s=%s" dataUsingEncoding:NSUTF8StringEncoding]];', source.postData.params[0].name, source.postData.params[0].value));
37+
code.push(util.format('NSMutableData *postData = [[NSMutableData alloc] initWithData:[@"%s=%s" dataUsingEncoding:NSUTF8StringEncoding]];', source.postData.params[0].name, source.postData.params[0].value))
3738
for (var i = 1, len = source.postData.params.length; i < len; i++) {
38-
code.push(util.format('[postData appendData:[@"&%s=%s" dataUsingEncoding:NSUTF8StringEncoding]];', source.postData.params[i].name, source.postData.params[i].value));
39+
code.push(util.format('[postData appendData:[@"&%s=%s" dataUsingEncoding:NSUTF8StringEncoding]];', source.postData.params[i].name, source.postData.params[i].value))
3940
}
40-
break;
41+
break
4142

4243
case 'application/json':
4344
if (source.postData.jsonObj) {
44-
code.push(objcHelpers.nsDictionaryBuilder('parameters', source.postData.jsonObj, opts.pretty));
45-
code.push(null);
46-
code.push('NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];');
45+
code.push(objcHelpers.nsDictionaryBuilder('parameters', source.postData.jsonObj, opts.pretty))
46+
code.push(null)
47+
code.push('NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];')
4748
}
48-
break;
49+
break
4950

5051
case 'multipart/form-data':
51-
code.push(objcHelpers.nsArrayBuilder('parameters', source.postData.params, opts.pretty));
52-
code.push(util.format('NSString *boundary = @"%s";', source.postData.boundary));
53-
code.push(null);
54-
code.push('NSError *error;');
55-
code.push('NSMutableString *body = [NSMutableString string];');
56-
code.push('for (NSDictionary *param in parameters) {');
57-
code.push(opts.indent + '[body appendFormat:@"--%@\\r\\n", boundary];');
58-
code.push(opts.indent + 'if (param[@"fileName"]) {');
59-
code.push(opts.indent + opts.indent + '[body appendFormat:@"Content-Disposition:form-data; name=\\"%@\\"; filename=\\"%@\\"\\r\\n", param[@"name"], param[@"fileName"]];');
60-
code.push(opts.indent + opts.indent + '[body appendFormat:@"Content-Type: %@\\r\\n\\r\\n", param[@"contentType"]];');
61-
code.push(opts.indent + opts.indent + '[body appendFormat:@"%@", [[NSString alloc] initWithContentsOfFile:param[@"fileName"]');
62-
code.push(opts.indent + opts.indent + ' encoding:NSUTF8StringEncoding error:&error]];');
63-
code.push(opts.indent + opts.indent + 'if (error) {');
64-
code.push(opts.indent + opts.indent + opts.indent + 'NSLog(@"%@", error);');
65-
code.push(opts.indent + opts.indent + '}');
66-
code.push(opts.indent + '} else {');
67-
code.push(opts.indent + opts.indent + '[body appendFormat:@"Content-Disposition:form-data; name=\\"%@\\"\\r\\n\\r\\n", param[@"name"]];');
68-
code.push(opts.indent + opts.indent + '[body appendFormat:@"%@", param[@"value"]];');
69-
code.push(opts.indent + '}');
70-
code.push('}');
71-
code.push('[body appendFormat:@"\\r\\n--%@--\\r\\n", boundary];');
72-
code.push('NSData *postData = [[NSData alloc] initWithData:[body dataUsingEncoding:NSUTF8StringEncoding]];');
73-
break;
52+
code.push(objcHelpers.nsArrayBuilder('parameters', source.postData.params, opts.pretty))
53+
code.push(util.format('NSString *boundary = @"%s";', source.postData.boundary))
54+
code.push(null)
55+
code.push('NSError *error;')
56+
code.push('NSMutableString *body = [NSMutableString string];')
57+
code.push('for (NSDictionary *param in parameters) {')
58+
code.push(indent + '[body appendFormat:@"--%@\\r\\n", boundary];')
59+
code.push(indent + 'if (param[@"fileName"]) {')
60+
code.push(indent + indent + '[body appendFormat:@"Content-Disposition:form-data; name=\\"%@\\"; filename=\\"%@\\"\\r\\n", param[@"name"], param[@"fileName"]];')
61+
code.push(indent + indent + '[body appendFormat:@"Content-Type: %@\\r\\n\\r\\n", param[@"contentType"]];')
62+
code.push(indent + indent + '[body appendFormat:@"%@", [[NSString alloc] initWithContentsOfFile:param[@"fileName"]')
63+
code.push(indent + indent + ' encoding:NSUTF8StringEncoding error:&error]];')
64+
code.push(indent + indent + 'if (error) {')
65+
code.push(indent + indent + indent + 'NSLog(@"%@", error);')
66+
code.push(indent + indent + '}')
67+
code.push(indent + '} else {')
68+
code.push(indent + indent + '[body appendFormat:@"Content-Disposition:form-data; name=\\"%@\\"\\r\\n\\r\\n", param[@"name"]];')
69+
code.push(indent + indent + '[body appendFormat:@"%@", param[@"value"]];')
70+
code.push(indent + '}')
71+
code.push('}')
72+
code.push('[body appendFormat:@"\\r\\n--%@--\\r\\n", boundary];')
73+
code.push('NSData *postData = [[NSData alloc] initWithData:[body dataUsingEncoding:NSUTF8StringEncoding]];')
74+
break
7475

7576
default:
76-
code.push(null);
77-
code.push('NSData *postData = [[NSData alloc] initWithData:[@"' + source.postData.text + '" dataUsingEncoding:NSUTF8StringEncoding]];');
77+
code.push(null)
78+
code.push('NSData *postData = [[NSData alloc] initWithData:[@"' + source.postData.text + '" dataUsingEncoding:NSUTF8StringEncoding]];')
7879
}
7980
}
8081

81-
code.push(null);
82-
code.push('NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"' + source.fullUrl + '"]');
83-
code.push(' cachePolicy:NSURLRequestUseProtocolCachePolicy');
84-
code.push(' timeoutInterval:' + parseInt(opts.timeout, 10).toFixed(1) + '];');
85-
code.push('[request setHTTPMethod:@"' + source.method + '"];');
82+
code.push(null)
83+
code.push('NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"' + source.fullUrl + '"]')
84+
code.push(' cachePolicy:NSURLRequestUseProtocolCachePolicy')
85+
code.push(' timeoutInterval:' + parseInt(opts.timeout, 10).toFixed(1) + '];')
86+
code.push('[request setHTTPMethod:@"' + source.method + '"];')
8687

8788
if (req.hasHeaders) {
88-
code.push('[request setAllHTTPHeaderFields:headers];');
89+
code.push('[request setAllHTTPHeaderFields:headers];')
8990
}
9091

9192
if (req.hasBody) {
92-
code.push('[request setHTTPBody:postData];');
93+
code.push('[request setHTTPBody:postData];')
9394
}
9495

95-
code.push(null);
96-
code.push('NSURLSession *session = [NSURLSession sharedSession];'); // Retrieve shared session for simplicity
97-
code.push('NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request');
98-
code.push(' completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {');
99-
code.push(' ' + opts.indent + 'if (error) {');
100-
code.push(' ' + opts.indent + opts.indent + 'NSLog(@"%@", error);');
101-
code.push(' ' + opts.indent + '} else {');
102-
code.push(' ' + opts.indent + opts.indent + 'NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;');
103-
code.push(' ' + opts.indent + opts.indent + 'NSLog(@"%@", httpResponse);');
104-
code.push(' ' + opts.indent + '}');
105-
code.push(' }];');
106-
code.push('[dataTask resume];');
107-
108-
return code.join('\n');
109-
};
96+
code.push(null)
97+
code.push('NSURLSession *session = [NSURLSession sharedSession];') // Retrieve shared session for simplicity
98+
code.push('NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request')
99+
code.push(' completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {')
100+
code.push(' ' + indent + 'if (error) {')
101+
code.push(' ' + indent + indent + 'NSLog(@"%@", error);')
102+
code.push(' ' + indent + '} else {')
103+
code.push(' ' + indent + indent + 'NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;')
104+
code.push(' ' + indent + indent + 'NSLog(@"%@", httpResponse);')
105+
code.push(' ' + indent + '}')
106+
code.push(' }];')
107+
code.push('[dataTask resume];')
108+
109+
return code.join('\n')
110+
}
110111

111112
module.exports.info = {
112113
key: 'native',
113114
title: 'NSURLSession',
114115
link: 'https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSURLSession_class/index.html',
115116
description: 'Foundation\'s NSURLSession request'
116-
};
117+
}

0 commit comments

Comments
 (0)