Skip to content

Commit 1361fa5

Browse files
committed
Refactor code-style
1 parent aae113d commit 1361fa5

File tree

6 files changed

+111
-109
lines changed

6 files changed

+111
-109
lines changed

.prettierignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
coverage/
2+
direction.js
3+
direction.min.js

cli.js

Lines changed: 37 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,47 @@
11
#!/usr/bin/env node
2-
'use strict';
2+
'use strict'
33

4-
var pack = require('./package.json');
5-
var direction = require('.');
4+
var pack = require('./package.json')
5+
var direction = require('.')
66

7-
var argv = process.argv.slice(2);
7+
var argv = process.argv.slice(2)
88

9-
if (
10-
argv.indexOf('--help') !== -1 ||
11-
argv.indexOf('-h') !== -1
12-
) {
13-
console.log(help());
14-
} else if (
15-
argv.indexOf('--version') !== -1 ||
16-
argv.indexOf('-v') !== -1
17-
) {
18-
console.log(pack.version);
9+
if (argv.indexOf('--help') !== -1 || argv.indexOf('-h') !== -1) {
10+
console.log(help())
11+
} else if (argv.indexOf('--version') !== -1 || argv.indexOf('-v') !== -1) {
12+
console.log(pack.version)
1913
} else if (argv.length === 0) {
20-
process.stdin.resume();
21-
process.stdin.setEncoding('utf8');
22-
process.stdin.on('data', function (data) {
23-
console.log(direction(data));
24-
});
14+
process.stdin.resume()
15+
process.stdin.setEncoding('utf8')
16+
process.stdin.on('data', function(data) {
17+
console.log(direction(data))
18+
})
2519
} else {
26-
console.log(direction(argv.join(' ')));
20+
console.log(direction(argv.join(' ')))
2721
}
2822

2923
function help() {
30-
return [
31-
'',
32-
'Usage: ' + pack.name + ' [options] <words...>',
33-
'',
34-
pack.description,
35-
'',
36-
'Options:',
37-
'',
38-
' -h, --help output usage information',
39-
' -v, --version output version number',
40-
'',
41-
'Usage:',
42-
'',
43-
'# output directionality',
44-
'$ ' + pack.name + ' @',
45-
'# ' + direction('@'),
46-
'',
47-
'# output directionality from stdin',
48-
'$ echo \'الانجليزية\' | ' + pack.name,
49-
'# ' + direction('الانجليزية')
50-
].join('\n ') + '\n';
24+
return (
25+
[
26+
'',
27+
'Usage: ' + pack.name + ' [options] <words...>',
28+
'',
29+
pack.description,
30+
'',
31+
'Options:',
32+
'',
33+
' -h, --help output usage information',
34+
' -v, --version output version number',
35+
'',
36+
'Usage:',
37+
'',
38+
'# output directionality',
39+
'$ ' + pack.name + ' @',
40+
'# ' + direction('@'),
41+
'',
42+
'# output directionality from stdin',
43+
"$ echo 'الانجليزية' | " + pack.name,
44+
'# ' + direction('الانجليزية')
45+
].join('\n ') + '\n'
46+
)
5147
}

index.js

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
1-
'use strict';
1+
'use strict'
22

3-
module.exports = direction;
3+
module.exports = direction
44

5-
var RTL = '\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC';
6-
var LTR = 'A-Za-z\u00C0-\u00D6\u00D8-\u00F6' +
5+
var RTL = '\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC'
6+
var LTR =
7+
'A-Za-z\u00C0-\u00D6\u00D8-\u00F6' +
78
'\u00F8-\u02B8\u0300-\u0590\u0800-\u1FFF\u200E\u2C00-\uFB1C' +
8-
'\uFE00-\uFE6F\uFEFD-\uFFFF';
9+
'\uFE00-\uFE6F\uFEFD-\uFFFF'
910

10-
var rtl = new RegExp('^[^' + LTR + ']*[' + RTL + ']');
11-
var ltr = new RegExp('^[^' + RTL + ']*[' + LTR + ']');
11+
var rtl = new RegExp('^[^' + LTR + ']*[' + RTL + ']')
12+
var ltr = new RegExp('^[^' + RTL + ']*[' + LTR + ']')
1213

1314
function direction(value) {
14-
value = String(value || '');
15+
value = String(value || '')
1516

1617
if (rtl.test(value)) {
17-
return 'rtl';
18+
return 'rtl'
1819
}
1920

2021
if (ltr.test(value)) {
21-
return 'ltr';
22+
return 'ltr'
2223
}
2324

24-
return 'neutral';
25+
return 'neutral'
2526
}

package.json

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,29 +30,37 @@
3030
"esmangle": "^1.0.0",
3131
"execa": "^0.9.0",
3232
"nyc": "^11.0.0",
33+
"prettier": "^1.12.1",
3334
"remark-cli": "^5.0.0",
3435
"remark-preset-wooorm": "^4.0.0",
3536
"tape": "^4.4.0",
3637
"xo": "^0.20.0"
3738
},
3839
"scripts": {
39-
"build-md": "remark . -qfo",
40+
"format": "remark . -qfo && prettier --write '**/*.js' && xo --fix",
4041
"build-bundle": "browserify index.js -s direction > direction.js",
4142
"build-mangle": "esmangle direction.js > direction.min.js",
42-
"build": "npm run build-md && npm run build-bundle && npm run build-mangle",
43-
"lint": "xo",
43+
"build": "npm run build-bundle && npm run build-mangle",
4444
"test-api": "node test",
4545
"test-coverage": "nyc --reporter lcov tape test.js",
46-
"test": "npm run build && npm run lint && npm run test-coverage"
46+
"test": "npm run format && npm run build && npm run test-coverage"
4747
},
4848
"nyc": {
4949
"check-coverage": true,
5050
"lines": 100,
5151
"functions": 100,
5252
"branches": 100
5353
},
54+
"prettier": {
55+
"tabWidth": 2,
56+
"useTabs": false,
57+
"singleQuote": true,
58+
"bracketSpacing": false,
59+
"semi": false,
60+
"trailingComma": "none"
61+
},
5462
"xo": {
55-
"space": true,
63+
"prettier": true,
5664
"esnext": false,
5765
"rules": {
5866
"no-var": "off",

readme.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ npm install direction
1313
Use:
1414

1515
```js
16-
var direction = require('direction');
16+
var direction = require('direction')
1717

18-
direction('A'); //=> 'ltr'
19-
direction('anglais'); //=> 'ltr'
20-
direction('بسيطة'); //=> 'rtl'
21-
direction('@'); //=> 'neutral'
18+
direction('A') // => 'ltr'
19+
direction('anglais') // => 'ltr'
20+
direction('بسيطة') // => 'rtl'
21+
direction('@') // => 'neutral'
2222
```
2323

2424
## CLI

test.js

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

3-
var PassThrough = require('stream').PassThrough;
4-
var test = require('tape');
5-
var execa = require('execa');
6-
var version = require('./package.json').version;
7-
var direction = require('.');
3+
var PassThrough = require('stream').PassThrough
4+
var test = require('tape')
5+
var execa = require('execa')
6+
var version = require('./package.json').version
7+
var direction = require('.')
88

99
var fixtures = [
1010
{input: '0', output: 'neutral'},
@@ -28,58 +28,52 @@ var fixtures = [
2828
{input: 'الجملة', output: 'rtl'},
2929
{input: 'الانجليزية', output: 'rtl'},
3030
{input: 'بسيطة', output: 'rtl'}
31-
];
31+
]
3232

33-
test('api', function (t) {
34-
t.equal(
35-
direction(),
36-
'neutral',
37-
'should classify nully as `neutral`'
38-
);
33+
test('api', function(t) {
34+
t.equal(direction(), 'neutral', 'should classify nully as `neutral`')
3935

40-
fixtures.forEach(function (check) {
36+
fixtures.forEach(function(check) {
4137
t.equal(
4238
direction(check.input),
4339
check.output,
4440
'should classify `' + check.input + '` as `' + check.output + '`'
45-
);
46-
});
41+
)
42+
})
4743

48-
t.end();
49-
});
44+
t.end()
45+
})
5046

51-
test('cli', function (t) {
52-
var input = new PassThrough();
47+
test('cli', function(t) {
48+
var input = new PassThrough()
5349

54-
t.plan(7);
50+
t.plan(7)
5551

56-
execa.stdout('./cli.js', [' ', 'abc']).then(function (result) {
57-
t.equal(result, 'ltr', 'arguments');
58-
});
52+
execa.stdout('./cli.js', [' ', 'abc']).then(function(result) {
53+
t.equal(result, 'ltr', 'arguments')
54+
})
5955

60-
execa.stdout('./cli.js', [' ', '\t']).then(function (result) {
61-
t.equal(result, 'neutral', 'neutral');
62-
});
56+
execa.stdout('./cli.js', [' ', '\t']).then(function(result) {
57+
t.equal(result, 'neutral', 'neutral')
58+
})
6359

64-
execa.stdout('./cli.js', {input: input}).then(function (result) {
65-
t.equal(result, 'rtl', 'stdin');
66-
});
60+
execa.stdout('./cli.js', {input: input}).then(function(result) {
61+
t.equal(result, 'rtl', 'stdin')
62+
})
6763

68-
input.write('لة');
64+
input.write('لة')
6965

70-
setImmediate(function () {
71-
input.end('الجم');
72-
});
73-
74-
['-h', '--help'].forEach(function (flag) {
75-
execa.stdout('./cli.js', [flag]).then(function (result) {
76-
t.ok(/\s+Usage: direction/.test(result), flag);
77-
});
78-
});
79-
80-
['-v', '--version'].forEach(function (flag) {
81-
execa.stdout('./cli.js', [flag]).then(function (result) {
82-
t.equal(result, version, flag);
83-
});
84-
});
85-
});
66+
setImmediate(function() {
67+
input.end('الجم')
68+
})
69+
;['-h', '--help'].forEach(function(flag) {
70+
execa.stdout('./cli.js', [flag]).then(function(result) {
71+
t.ok(/\s+Usage: direction/.test(result), flag)
72+
})
73+
})
74+
;['-v', '--version'].forEach(function(flag) {
75+
execa.stdout('./cli.js', [flag]).then(function(result) {
76+
t.equal(result, version, flag)
77+
})
78+
})
79+
})

0 commit comments

Comments
 (0)