Skip to content

Commit 323e422

Browse files
authored
simplify
1 parent 284ed4b commit 323e422

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

index.js

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
1-
const {flip, over, lens, update, nth, useWith, equals, length, ifElse, join, head, compose, converge, replace, identity, split} = require('ramda');
1+
const {compose, toLower, replace, append, decode} = require('./prelude');
22

3-
const overF = flip(over);
4-
const lengthLens = xs => lens(nth(xs.length - 1), update(xs.length -1));
5-
const splitJoinPattern = '://';
6-
const doubleSlashes = /\/{2,}/g;
7-
const multiDots = /\/\.{1,}/g;
8-
const listLengthEq = useWith(equals, [identity, length]);
9-
const joinOrHead = ifElse(listLengthEq(2), join(splitJoinPattern), head);
10-
const dedupeUrl = compose(replace(doubleSlashes, '/'), replace(multiDots, '/'));
11-
12-
exports.normalize = compose(joinOrHead, converge(overF(dedupeUrl), [lengthLens, identity]), split(splitJoinPattern));
3+
exports.normalize = compose([replace(/([^:]\/)\/+/g, '$1'),
4+
replace(/\/\.+/g, '/'),
5+
replace(/(\:80|\:443)/, ''),
6+
toLower,
7+
append('/'),
8+
decode
9+
]);

0 commit comments

Comments
 (0)